/// declare namespace Cypress { interface Chainable { /** * Log in the user with the given attributes, or create a new user and then log them in. * * @example * cy.login() * cy.login({ id: 1 }) */ login(attributes?: object): Chainable; /** * Log out the current user. * * @example * cy.logout() */ logout(): Chainable; /** * Fetch the currently authenticated user. * * @example * cy.currentUser() */ currentUser(): Chainable; /** * Fetch a CSRF token from the server. * * @example * cy.logout() */ csrfToken(): Chainable; /** * Fetch a fresh list of URI routes from the server. * * @example * cy.logout() */ refreshRoutes(): Chainable; /** * Create and persist a new Eloquent record using Laravel model factories. * * @example * cy.create('App\\User'); * cy.create('App\\User', 2); * cy.create('App\\User', 2, { active: false }); * cy.create({ model: 'App\\User', state: ['guest'], relations: ['profile'], count: 2 } */ create(): Chainable; /** * Refresh the database state using Laravel's migrate:fresh command. * * @example * cy.refreshDatabase() * cy.refreshDatabase({ '--drop-views': true } */ refreshDatabase(options?: object): Chainable; /** * Run Artisan's db:seed command. * * @example * cy.seed() * cy.seed('PlansTableSeeder') */ seed(seederClass?: string): Chainable; /** * Run an Artisan command. * * @example * cy.artisan() */ artisan(command: string, parameters?: object, options?: object): Chainable; /** * Execute arbitrary PHP on the server. * * @example * cy.php('2 + 2') * cy.php('App\\User::count()') */ php(command: string): Chainable; } }