app/tests/Browser/CreateUserTest.php

80 lines
2.6 KiB
PHP
Raw Normal View History

<?php
namespace Tests\Browser;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
class CreateUserTest extends DuskTestCase
{
use LoginHelpers;
public function testCanAccessUsersPage(): void
{
$this->browse(function (Browser $browser) {
$this->loginAndGoToUsers($browser)
->assertPathIs('/users')
->assertSee('MANAGE USERS')
->assertSee('Add User');
});
}
public function testCanOpenCreateUserModal(): void
{
$this->browse(function (Browser $browser) {
$this->loginAndGoToUsers($browser)
->waitFor('button[wire\\:click="create"]', 5)
->click('button[wire\\:click="create"]')
->pause(1000)
->assertSee('Add New User')
->assertSee('Name')
->assertSee('Create User')
->assertSee('Cancel');
});
}
public function testCreateUserFormValidation(): void
{
$this->browse(function (Browser $browser) {
$this->loginAndGoToUsers($browser)
->waitFor('button[wire\\:click="create"]', 5)
->click('button[wire\\:click="create"]')
->pause(1000)
->waitFor('input[wire\\:model="name"]', 5)
->clear('input[wire\\:model="name"]')
->press('Create User')
->pause(2000)
->assertSee('required');
});
}
public function testCanCreateUser(): void
{
$this->browse(function (Browser $browser) {
$this->loginAndGoToUsers($browser)
->waitFor('button[wire\\:click="create"]', 5)
->click('button[wire\\:click="create"]')
->pause(1000)
->waitFor('input[wire\\:model="name"]', 5)
->type('input[wire\\:model="name"]', 'Test User ' . time())
->press('Create User')
->pause(2000)
->assertSee('User created successfully')
->assertDontSee('Add New User');
});
}
public function testCanCancelUserCreation(): void
{
$this->browse(function (Browser $browser) {
$this->loginAndGoToUsers($browser)
->waitFor('button[wire\\:click="create"]', 5)
->click('button[wire\\:click="create"]')
->pause(1000)
->assertSee('Add New User')
->press('Cancel')
->pause(1000)
->assertDontSee('Add New User');
});
}
}