File: D:/HostingSpaces/SBogers10/boldt.komma.pro/tests/Browser/UserSearchTest.php
<?php
namespace Tests\Browser;
use App\Komma\Users\Models\User;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Laravel\Dusk\Browser;
use Tests\Browser\Pages\UsersSectionTestPage;
use Tests\DuskTestCase;
class UserSearchTest extends DuskTestCase
{
use DatabaseTransactions; //Automatically rolls back database actions after tests
/**
* @group UserSearchTest
* @test
*/
public function testSidebarUserSearchByEmail()
{
$randomUser = factory(User::class, 1)->make()->first();
$counter = 0;
$this->browse(function (Browser $browser) use ($randomUser, $counter) {
$browser->loginAs(User::find(1))
->visit(new UsersSectionTestPage)
->screenshot($this->getName().'_customers_screen_'.$counter++)
->assertSee(__('kms/users.section.subtitle'))
->click('@add_button')
->screenshot($this->getName().'_customers_screen_'.$counter++)
->type('@TextField-username', $randomUser->username)
->type('@TextField-first_name', $randomUser->first_name)
->type('@TextField-last_name', $randomUser->last_name)
->type('@TextField-email', $randomUser->email)
->type('@Password-password-1', 'Admin123')
->type('@Password-password-2', 'Admin123')
->screenshot($this->getName())
->click('@save_button')
//Visit the users page again and save the user without making changes. This must not change the password and still enable the user to login
->visit(new UsersSectionTestPage())
->screenshot($this->getName())
->assertSee(__('kms/users.section.subtitle'))
->type('@entity_search_input', $randomUser->email)
->screenshot($this->getName(false) . '-' . ++$counter)
->assertSeeIn('@search-result-counter', '1')
->click('@found_search_item')
->screenshot($this->getName(false) . '-' . ++$counter)
->assertSeeIn('@entity_header', $randomUser->first_name.' '.$randomUser->last_name)
->screenshot($this->getName(false) . '-' . 'reopened');
});
}
}