Merge pull request #16577 from marcusmoore/tests/login-logging

Added tests around login attempt logging
This commit is contained in:
snipe
2025-03-29 23:30:05 -01:00
committed by GitHub

View File

@@ -0,0 +1,49 @@
<?php
namespace Tests\Feature\Authentication;
use App\Models\User;
use Tests\TestCase;
class LoginTest extends TestCase
{
public function testLogsFailedLoginAttempt()
{
User::factory()->create(['username' => 'username_here']);
$this->withServerVariables(['REMOTE_ADDR' => '127.0.0.100'])
->post('/login', [
'username' => 'username_here',
'password' => 'not a real password',
], [
'User-Agent' => 'Some Custom User Agent',
]);
$this->assertDatabaseHas('login_attempts', [
'username' => 'username_here',
'remote_ip' => '127.0.0.100',
'user_agent' => 'Some Custom User Agent',
'successful' => 0,
]);
}
public function testLogsSuccessfulLogin()
{
User::factory()->create(['username' => 'username_here']);
$this->withServerVariables(['REMOTE_ADDR' => '127.0.0.100'])
->post('/login', [
'username' => 'username_here',
'password' => 'password',
], [
'User-Agent' => 'Some Custom User Agent',
]);
$this->assertDatabaseHas('login_attempts', [
'username' => 'username_here',
'remote_ip' => '127.0.0.100',
'user_agent' => 'Some Custom User Agent',
'successful' => 1,
]);
}
}