annotate stubs/default/pest-tests/Feature/ProfileTest.php @ 2:ac199a7a8931 default tip

Changes to the views and only defualt option is available
author luka
date Tue, 19 Aug 2025 20:32:36 -0400
parents 90e38de8f2ba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
1 <?php
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
2
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
3 use App\Models\User;
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
4
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
5 test('profile page is displayed', function () {
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
6 $user = User::factory()->create();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
7
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
8 $response = $this
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
9 ->actingAs($user)
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
10 ->get('/profile');
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
11
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
12 $response->assertOk();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
13 });
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
14
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
15 test('profile information can be updated', function () {
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
16 $user = User::factory()->create();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
17
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
18 $response = $this
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
19 ->actingAs($user)
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
20 ->patch('/profile', [
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
21 'name' => 'Test User',
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
22 'email' => 'test@example.com',
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
23 ]);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
24
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
25 $response
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
26 ->assertSessionHasNoErrors()
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
27 ->assertRedirect('/profile');
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
28
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
29 $user->refresh();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
30
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
31 $this->assertSame('Test User', $user->name);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
32 $this->assertSame('test@example.com', $user->email);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
33 $this->assertNull($user->email_verified_at);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
34 });
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
35
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
36 test('email verification status is unchanged when the email address is unchanged', function () {
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
37 $user = User::factory()->create();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
38
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
39 $response = $this
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
40 ->actingAs($user)
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
41 ->patch('/profile', [
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
42 'name' => 'Test User',
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
43 'email' => $user->email,
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
44 ]);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
45
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
46 $response
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
47 ->assertSessionHasNoErrors()
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
48 ->assertRedirect('/profile');
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
49
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
50 $this->assertNotNull($user->refresh()->email_verified_at);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
51 });
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
52
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
53 test('user can delete their account', function () {
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
54 $user = User::factory()->create();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
55
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
56 $response = $this
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
57 ->actingAs($user)
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
58 ->delete('/profile', [
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
59 'password' => 'password',
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
60 ]);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
61
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
62 $response
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
63 ->assertSessionHasNoErrors()
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
64 ->assertRedirect('/');
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
65
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
66 $this->assertGuest();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
67 $this->assertNull($user->fresh());
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
68 });
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
69
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
70 test('correct password must be provided to delete account', function () {
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
71 $user = User::factory()->create();
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
72
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
73 $response = $this
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
74 ->actingAs($user)
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
75 ->from('/profile')
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
76 ->delete('/profile', [
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
77 'password' => 'wrong-password',
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
78 ]);
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
79
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
80 $response
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
81 ->assertSessionHasErrorsIn('userDeletion', 'password')
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
82 ->assertRedirect('/profile');
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
83
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
84 $this->assertNotNull($user->fresh());
90e38de8f2ba Initial Commit
luka
parents:
diff changeset
85 });