forge/tests/Feature/User/DeleteAccountTest.php
2025-01-30 00:23:55 -05:00

30 lines
985 B
PHP
Executable File

<?php
declare(strict_types=1);
use App\Models\User;
use Laravel\Jetstream\Features;
use Laravel\Jetstream\Http\Livewire\DeleteUserForm;
use Livewire\Livewire;
test('user accounts can be deleted', function (): void {
$this->actingAs($user = User::factory()->create());
Livewire::test(DeleteUserForm::class)
->set('password', 'password')
->call('deleteUser');
expect($user->fresh())->toBeNull();
})->skip(fn (): bool => ! Features::hasAccountDeletionFeatures(), 'Account deletion is not enabled.');
test('correct password must be provided before account can be deleted', function (): void {
$this->actingAs($user = User::factory()->create());
Livewire::test(DeleteUserForm::class)
->set('password', 'wrong-password')
->call('deleteUser')
->assertHasErrors(['password']);
expect($user->fresh())->not->toBeNull();
})->skip(fn (): bool => ! Features::hasAccountDeletionFeatures(), 'Account deletion is not enabled.');