Files
alrahma_sunday_school_api/tests/Unit/Services/Users/LoginActivityServiceTest.php
T
2026-03-09 02:52:13 -04:00

46 lines
1.4 KiB
PHP

<?php
namespace Tests\Unit\Services\Users;
use App\Services\Users\LoginActivityService;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Support\Facades\DB;
use Tests\TestCase;
class LoginActivityServiceTest extends TestCase
{
use RefreshDatabase;
public function test_list_returns_paginated_payload(): void
{
DB::table('login_activity')->insert([
'user_id' => 1,
'email' => 'user@example.com',
'login_time' => '2025-01-02 09:00:00',
'logout_time' => null,
'ip_address' => '10.0.0.1',
'user_agent' => 'TestAgent',
'semester' => 'Fall',
'school_year' => '2025-2026',
]);
DB::table('login_activity')->insert([
'user_id' => 1,
'email' => 'user@example.com',
'login_time' => '2025-01-01 09:00:00',
'logout_time' => null,
'ip_address' => '10.0.0.2',
'user_agent' => 'TestAgent',
'semester' => 'Fall',
'school_year' => '2025-2026',
]);
$service = app(LoginActivityService::class);
$payload = $service->list(1, 2);
$this->assertSame(2, $payload['pagination']['total']);
$this->assertSame(2, $payload['pagination']['currentPage']);
$this->assertSame('10.0.0.2', $payload['activities'][0]['ip_address']);
}
}