Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

DeleteAccountTest.php 1.4KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace Tests\Feature;
  3. use App\Models\User;
  4. use Illuminate\Foundation\Testing\RefreshDatabase;
  5. use Livewire\Livewire;
  6. use Tests\TestCase;
  7. use Wallo\FilamentCompanies\Features;
  8. use Wallo\FilamentCompanies\Http\Livewire\DeleteUserForm;
  9. class DeleteAccountTest extends TestCase
  10. {
  11. use RefreshDatabase;
  12. public function test_user_accounts_can_be_deleted(): void
  13. {
  14. if (! Features::hasAccountDeletionFeatures()) {
  15. $this->markTestSkipped('Account deletion is not enabled.');
  16. return;
  17. }
  18. $this->actingAs($user = User::factory()->create());
  19. $component = Livewire::test(DeleteUserForm::class)
  20. ->set('password', 'password')
  21. ->call('deleteUser');
  22. $this->assertNull($user->fresh());
  23. }
  24. public function test_correct_password_must_be_provided_before_account_can_be_deleted(): void
  25. {
  26. if (! Features::hasAccountDeletionFeatures()) {
  27. $this->markTestSkipped('Account deletion is not enabled.');
  28. return;
  29. }
  30. $this->actingAs($user = User::factory()->create());
  31. Livewire::test(DeleteUserForm::class)
  32. ->set('password', 'wrong-password')
  33. ->call('deleteUser')
  34. ->assertHasErrors(['password']);
  35. $this->assertNotNull($user->fresh());
  36. }
  37. }