annotate tests/Feature/Auth/PasswordUpdateTest.php @ 0:9d7dcd54c677

Initial Commit and package setup
author luka
date Sat, 23 Aug 2025 22:20:51 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
1 <?php
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
2
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
3 namespace Tests\Feature\Auth;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
4
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
5 use App\Models\User;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
6 use Illuminate\Foundation\Testing\RefreshDatabase;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
7 use Illuminate\Support\Facades\Hash;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
8 use Tests\TestCase;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
9
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
10 class PasswordUpdateTest extends TestCase
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
11 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
12 use RefreshDatabase;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
13
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
14 public function test_password_can_be_updated(): void
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
15 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
16 $user = User::factory()->create();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
17
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
18 $response = $this
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
19 ->actingAs($user)
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
20 ->from('/profile')
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
21 ->put('/password', [
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
22 'current_password' => 'password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
23 'password' => 'new-password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
24 'password_confirmation' => 'new-password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
25 ]);
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
26
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
27 $response
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
28 ->assertSessionHasNoErrors()
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
29 ->assertRedirect('/profile');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
30
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
31 $this->assertTrue(Hash::check('new-password', $user->refresh()->password));
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
32 }
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
33
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
34 public function test_correct_password_must_be_provided_to_update_password(): void
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
35 {
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
36 $user = User::factory()->create();
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
37
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
38 $response = $this
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
39 ->actingAs($user)
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
40 ->from('/profile')
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
41 ->put('/password', [
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
42 'current_password' => 'wrong-password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
43 'password' => 'new-password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
44 'password_confirmation' => 'new-password',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
45 ]);
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
46
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
47 $response
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
48 ->assertSessionHasErrorsIn('updatePassword', 'current_password')
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
49 ->assertRedirect('/profile');
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
50 }
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
51 }