share-lt/tests/Browser/Concerns/AuthenticatesUsers.php

38 lines
962 B
PHP
Raw Normal View History

<?php
namespace Tests\Browser\Concerns;
use App\Models\User;
use Laravel\Dusk\Browser;
trait AuthenticatesUsers
{
private function createTestUser(string $email): User
{
return User::factory()->create([
'email' => $email,
'password' => bcrypt('password'),
'two_factor_secret' => null,
'two_factor_recovery_codes' => null,
]);
}
private function loginUser(Browser $browser, User $user): void
{
$browser->visit('/login')
->type('email', $user->email)
->type('password', 'password')
->press('Log in')
->waitForLocation('/dashboard');
}
private function assertWithDebugPause(Browser $browser, callable $assertions, int $pauseMs = 10000): void
{
try {
$assertions($browser);
} catch (\Exception $e) {
$browser->pause($pauseMs);
throw $e;
}
}
}