home-erp

git clone git://archive.git.mtrnord.blog/MTRNord/home-erp.git
Log | Files | Refs | README

PasswordUpdateTest.php (1385B)


      1 <?php
      2 
      3 namespace Tests\Feature\Auth;
      4 
      5 use App\Models\User;
      6 use Illuminate\Foundation\Testing\RefreshDatabase;
      7 use Illuminate\Support\Facades\Hash;
      8 use Livewire\Volt\Volt;
      9 use Tests\TestCase;
     10 
     11 class PasswordUpdateTest extends TestCase
     12 {
     13     use RefreshDatabase;
     14 
     15     public function test_password_can_be_updated(): void
     16     {
     17         $user = User::factory()->create();
     18 
     19         $this->actingAs($user);
     20 
     21         $component = Volt::test('profile.update-password-form')
     22             ->set('current_password', 'password')
     23             ->set('password', 'new-password')
     24             ->set('password_confirmation', 'new-password')
     25             ->call('updatePassword');
     26 
     27         $component
     28             ->assertHasNoErrors()
     29             ->assertNoRedirect();
     30 
     31         $this->assertTrue(Hash::check('new-password', $user->refresh()->password));
     32     }
     33 
     34     public function test_correct_password_must_be_provided_to_update_password(): void
     35     {
     36         $user = User::factory()->create();
     37 
     38         $this->actingAs($user);
     39 
     40         $component = Volt::test('profile.update-password-form')
     41             ->set('current_password', 'wrong-password')
     42             ->set('password', 'new-password')
     43             ->set('password_confirmation', 'new-password')
     44             ->call('updatePassword');
     45 
     46         $component
     47             ->assertHasErrors(['current_password'])
     48             ->assertNoRedirect();
     49     }
     50 }