File: D:/HostingSpaces/SBogers10/medvalue.komma.pro/tests/Browser/UserTest.php
<?php
namespace Tests\Browser;
use App\KommaApp\Shop\Tests\DuskTestCase;
use App\KommaApp\Users\Models\User;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Laravel\Dusk\Browser;
use Tests\Browser\Pages\UsersSectionTestPage;
class UserTest extends DuskTestCase
{
use DatabaseTransactions; //Automatically rolls back database actions after tests
/**
* @group UserTest
* @test
*/
public function testCreateEmptyUser()
{
$this->browse(function (Browser $browser) {
$browser->loginAs(User::find(1))
->visit(new UsersSectionTestPage())
->screenshot($this->getName())
->assertSee(__('kms/users.sub_title'))
->click('@addButton')
->screenshot($this->getName())
->click('@saveButton')
->assertSee('gebruikersnaam is verplicht.')
->screenshot($this->getName());
});
}
/**
* @group UserTest
* @test
*/
public function testCreateUserWithUsernameAndEmailOnly()
{
$this->browse(function (Browser $browser) {
$browser->loginAs(User::find(1))
->visit(new UsersSectionTestPage())
->screenshot($this->getName())
->assertSee(__('kms/users.sub_title'))
->click('@addButton')
->screenshot($this->getName())
->type('@userNameField', 'DuskTestUser_'.str_random())
->type('@emailField', 'support_'.str_random().'@komma.pro')
->screenshot($this->getName())
->click('@saveButton')
->assertSee(__('kms/global.saved'))
->screenshot($this->getName());
});
}
/**
* @group UserTest
* @test
*/
public function testCreateUserWithUsernameEmailAndPasswordAndDeleteIt()
{
$randomUser = factory(User::class, 1)->make()->first();
$this->browse(function (Browser $browser) use ($randomUser) {
$browser->loginAs(User::find(1))
->visit(new UsersSectionTestPage())
->screenshot($this->getName())
->assertSee(__('kms/users.sub_title'))
->click('@addButton')
->screenshot($this->getName())
->type('@userNameField', $randomUser->username)
->type('@emailField', $randomUser->email)
->type('@passwordField', 'Admin123')
->type('@passwordConfirmationField', 'Admin123')
->screenshot($this->getName())
->pause(5000)
->click('@saveButton');
//Delete user
$counter = 0;
$this->browse(function (Browser $browser) use ($randomUser, $counter) {
$browser->visit(new UsersSectionTestPage())
->type('@searchInput', $randomUser->username)
->screenshot($this->getName(false).'-'.++$counter)
->assertSeeIn('#search-result-counter', '1')
->click('#users-searchlist > li.entities-list-item.active > a')
->screenshot($this->getName(false).'-'.++$counter)
->pause(2000)
->assertInputValue('@userNameField', $randomUser->username)
->click('@deleteButton')
->assertSee(__('kms/global.confirm_deletion'))
->click('@confirmYes')
->assertSee(__('kms/global.removed'))
->screenshot($this->getName(false).'-'.++$counter);
});
});
}
}