1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-05-06 15:24:03 +00:00

merge last two tests into one with a dataset

This commit is contained in:
Samuel Stancl 2026-05-01 21:44:57 +02:00
parent ab5e67fc34
commit 0772a940f7
No known key found for this signature in database
GPG key ID: BA146259A1E16C57

View file

@ -134,7 +134,7 @@ test('database deletion is skipped when create_database is false', function (boo
expect($manager->databaseExists($tenant->database()->getName()))->toBeFalse(); expect($manager->databaseExists($tenant->database()->getName()))->toBeFalse();
})->with([true, false]); })->with([true, false]);
test('database deletion failures are swallowed when ignoreFailures is true', function () { test('database deletion failure is ignored when ignoreFailures is true', function (bool $ignoreFailures) {
Event::listen(TenantCreated::class, JobPipeline::make([CreateDatabase::class])->send(function (TenantCreated $event) { Event::listen(TenantCreated::class, JobPipeline::make([CreateDatabase::class])->send(function (TenantCreated $event) {
return $event->tenant; return $event->tenant;
})->toListener()); })->toListener());
@ -143,7 +143,7 @@ test('database deletion failures are swallowed when ignoreFailures is true', fun
return $event->tenant; return $event->tenant;
})->toListener()); })->toListener());
DeleteDatabase::$ignoreFailures = true; DeleteDatabase::$ignoreFailures = $ignoreFailures;
$tenant = Tenant::create(); $tenant = Tenant::create();
$manager = $tenant->database()->manager(); $manager = $tenant->database()->manager();
@ -152,27 +152,12 @@ test('database deletion failures are swallowed when ignoreFailures is true', fun
$manager->deleteDatabase($tenant); // manually delete so the job fails $manager->deleteDatabase($tenant); // manually delete so the job fails
expect($manager->databaseExists($tenant->database()->getName()))->toBeFalse(); expect($manager->databaseExists($tenant->database()->getName()))->toBeFalse();
$tenant->delete(); // would throw without $ignoreFailures if ($ignoreFailures) {
}); $tenant->delete(); // no exception
} else {
test('database deletion failures are rethrown when ignoreFailures is false', function () { expect(fn () => $tenant->delete())->toThrow(QueryException::class, "database doesn't exist");
Event::listen(TenantCreated::class, JobPipeline::make([CreateDatabase::class])->send(function (TenantCreated $event) { }
return $event->tenant; })->with([true, false]);
})->toListener());
Event::listen(TenantDeleted::class, JobPipeline::make([DeleteDatabase::class])->send(function (TenantDeleted $event) {
return $event->tenant;
})->toListener());
$tenant = Tenant::create();
$manager = $tenant->database()->manager();
expect($manager->databaseExists($tenant->database()->getName()))->toBeTrue();
$manager->deleteDatabase($tenant); // manually delete so the job fails
expect($manager->databaseExists($tenant->database()->getName()))->toBeFalse();
expect(fn () => $tenant->delete())->toThrow(QueryException::class, "database doesn't exist");
});
class User extends Authenticable class User extends Authenticable
{ {