PasswordUpdateTest.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. use App\Models\User;
  3. use Illuminate\Support\Facades\Hash;
  4. test('password update page is displayed', function () {
  5. $user = User::factory()->create();
  6. $response = $this
  7. ->actingAs($user)
  8. ->get(route('password.edit'));
  9. $response->assertStatus(200);
  10. });
  11. test('password can be updated', function () {
  12. $user = User::factory()->create();
  13. $response = $this
  14. ->actingAs($user)
  15. ->from(route('password.edit'))
  16. ->put(route('password.update'), [
  17. 'current_password' => 'password',
  18. 'password' => 'new-password',
  19. 'password_confirmation' => 'new-password',
  20. ]);
  21. $response
  22. ->assertSessionHasNoErrors()
  23. ->assertRedirect(route('password.edit'));
  24. expect(Hash::check('new-password', $user->refresh()->password))->toBeTrue();
  25. });
  26. test('correct password must be provided to update password', function () {
  27. $user = User::factory()->create();
  28. $response = $this
  29. ->actingAs($user)
  30. ->from(route('password.edit'))
  31. ->put(route('password.update'), [
  32. 'current_password' => 'wrong-password',
  33. 'password' => 'new-password',
  34. 'password_confirmation' => 'new-password',
  35. ]);
  36. $response
  37. ->assertSessionHasErrors('current_password')
  38. ->assertRedirect(route('password.edit'));
  39. });