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'); }); } }