62 lines
1.9 KiB
PHP
62 lines
1.9 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @method \Illuminate\Testing\TestResponse post(string $uri, array $data = [])
|
|
* @method \Illuminate\Testing\TestResponse put(string $uri, array $data = [])
|
|
* @method \Illuminate\Testing\TestResponse delete(string $uri, array $data = [])
|
|
* @method $this actingAs(\App\Models\User $user, ?string $guard = null)
|
|
*/
|
|
|
|
use App\Models\ArchiveSetting;
|
|
use App\Models\User;
|
|
use Illuminate\Foundation\Testing\RefreshDatabase;
|
|
|
|
uses(RefreshDatabase::class);
|
|
/** @var \Tests\TestCase $this */
|
|
it('creates an archive setting', function () {
|
|
$user = User::factory()->create();
|
|
test()->actingAs($user);
|
|
|
|
$response = test()->post(route('settings.archive.store'), [
|
|
'entities' => [
|
|
['table' => 'documents', 'conditions' => ['older_than_days' => 30]],
|
|
],
|
|
'strategy' => 'immediate',
|
|
'soft' => true,
|
|
'enabled' => true,
|
|
]);
|
|
|
|
$response->assertRedirect();
|
|
expect(ArchiveSetting::count())->toBe(1);
|
|
});
|
|
|
|
it('updates an archive setting', function () {
|
|
$user = User::factory()->create();
|
|
test()->actingAs($user);
|
|
$setting = ArchiveSetting::factory()->create();
|
|
|
|
$response = test()->put(route('settings.archive.update', $setting->id), [
|
|
'entities' => $setting->entities,
|
|
'strategy' => 'queued',
|
|
'soft' => false,
|
|
'enabled' => false,
|
|
]);
|
|
|
|
$response->assertRedirect();
|
|
$setting->refresh();
|
|
expect($setting->strategy)->toBe('queued')
|
|
->and($setting->soft)->toBeFalse()
|
|
->and($setting->enabled)->toBeFalse();
|
|
});
|
|
|
|
it('deletes an archive setting', function () {
|
|
$user = User::factory()->create();
|
|
test()->actingAs($user);
|
|
$setting = ArchiveSetting::factory()->create();
|
|
|
|
$response = test()->delete(route('settings.archive.destroy', $setting->id));
|
|
$response->assertRedirect();
|
|
expect(ArchiveSetting::withTrashed()->count())->toBe(1) // soft deleted
|
|
->and(ArchiveSetting::count())->toBe(0);
|
|
});
|