d2d.emegrendeles.hu/tests/Feature/AdminLoginTest.php
2026-05-06 21:10:45 +02:00

49 lines
1.2 KiB
PHP

<?php
use App\Models\User;
use App\Models\Role;
use App\Filament\Auth\Login;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
use Livewire\Livewire;
uses(TestCase::class, RefreshDatabase::class);
it('can login with name instead of email', function () {
$adminRole = Role::create(['name' => 'admin', 'display_name' => 'Admin', 'description' => 'Admin']);
$user = User::factory()->create([
'name' => 'testuser',
'password' => bcrypt('password'),
]);
$user->addRole($adminRole);
Livewire::test(Login::class)
->fillForm([
'name' => 'testuser',
'password' => 'password',
])
->call('authenticate')
->assertHasNoFormErrors()
->assertRedirect('/admin');
$this->assertAuthenticatedAs($user);
});
it('cannot login with email anymore', function () {
$user = User::factory()->create([
'name' => 'testuser',
'email' => 'test@example.com',
'password' => bcrypt('password'),
]);
Livewire::test(Login::class)
->fillForm([
'email' => 'test@example.com',
'password' => 'password',
])
->call('authenticate')
->assertHasFormErrors(['name']);
$this->assertGuest();
});