-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathUserTermsOfUseAcceptanceTest.php
More file actions
32 lines (25 loc) · 1.07 KB
/
UserTermsOfUseAcceptanceTest.php
File metadata and controls
32 lines (25 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
namespace Tests\Jobs;
use App\Jobs\CreateFirstTermsOfUseVersionJob;
use App\Jobs\UserCreateJob;
use App\TermsOfUseVersion;
use App\UserTermsOfUseAcceptance;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class UserTermsOfUseAcceptanceTest extends TestCase {
use RefreshDatabase;
public function testUserCreationCreatesTouAcceptance(): void {
(new CreateFirstTermsOfUseVersionJob)->handle();
$email = 'test+' . uniqid('', true) . '@example.com';
$user = (new UserCreateJob($email, 'thisisapassword123', true))->handle();
$this->assertDatabaseHas('tou_acceptances', [
'user_id' => $user->id,
'tou_version' => TermsOfUseVersion::latestActiveVersion()->version,
]);
$rows = UserTermsOfUseAcceptance::where('user_id', $user->id)->get();
$this->assertCount(1, $rows);
$acceptance = $rows->first();
$this->assertSame(TermsOfUseVersion::latestActiveVersion()->version, $acceptance->tou_version);
$this->assertNotNull($acceptance->tou_accepted_at);
}
}