47 lines
1.3 KiB
PHP
47 lines
1.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Tests\Feature;
|
||
|
|
||
|
use App\Models\User;
|
||
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||
|
use Laravel\Jetstream\Features;
|
||
|
use Laravel\Jetstream\Http\Livewire\DeleteUserForm;
|
||
|
use Livewire\Livewire;
|
||
|
use Tests\TestCase;
|
||
|
|
||
|
class DeleteAccountTest extends TestCase
|
||
|
{
|
||
|
use RefreshDatabase;
|
||
|
|
||
|
public function test_user_accounts_can_be_deleted()
|
||
|
{
|
||
|
if (! Features::hasAccountDeletionFeatures()) {
|
||
|
return $this->markTestSkipped('Account deletion is not enabled.');
|
||
|
}
|
||
|
|
||
|
$this->actingAs($user = User::factory()->create());
|
||
|
|
||
|
$component = Livewire::test(DeleteUserForm::class)
|
||
|
->set('password', 'password')
|
||
|
->call('deleteUser');
|
||
|
|
||
|
$this->assertNull($user->fresh());
|
||
|
}
|
||
|
|
||
|
public function test_correct_password_must_be_provided_before_account_can_be_deleted()
|
||
|
{
|
||
|
if (! Features::hasAccountDeletionFeatures()) {
|
||
|
return $this->markTestSkipped('Account deletion is not enabled.');
|
||
|
}
|
||
|
|
||
|
$this->actingAs($user = User::factory()->create());
|
||
|
|
||
|
Livewire::test(DeleteUserForm::class)
|
||
|
->set('password', 'wrong-password')
|
||
|
->call('deleteUser')
|
||
|
->assertHasErrors(['password']);
|
||
|
|
||
|
$this->assertNotNull($user->fresh());
|
||
|
}
|
||
|
}
|