1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 20:34:03 +00:00

Update migrate:fresh test

This commit is contained in:
lukinovec 2022-10-14 10:59:16 +02:00
parent 5e76510bfb
commit 5cef50b674

View file

@ -267,7 +267,9 @@ test('run command works when sub command asks questions and accepts arguments',
expect($user->email)->toBe('email@localhost'); expect($user->email)->toBe('email@localhost');
}); });
test('migrate fresh command deletes tenant databases', function() { test('migrate fresh command deletes tenant databases based on the tenancy.database.drop_tenant_databases_on_migrate_fresh config value', function() {
config(['tenancy.database.drop_tenant_databases_on_migrate_fresh' => false]);
/** @var Tenant[] $tenants */ /** @var Tenant[] $tenants */
$tenants = [ $tenants = [
Tenant::create(), Tenant::create(),
@ -275,16 +277,50 @@ test('migrate fresh command deletes tenant databases', function() {
Tenant::create(), Tenant::create(),
]; ];
foreach ($tenants as $tenant) { Artisan::call('migrate:fresh', [
expect($tenant->database()->manager()->databaseExists($tenant->database()->getName()))->toBeTrue(); '--force' => true,
} '--path' => __DIR__ . '/../assets/migrations',
'--realpath' => true,
]);
pest()->artisan('migrate:fresh'); $tenantDatabaseExists = fn(Tenant $tenant) => $tenant->database()->manager()->databaseExists($tenant->database()->getName());
foreach ($tenants as $tenant) { foreach ($tenants as $tenant) {
expect($tenant->database()->manager()->databaseExists($tenant->database()->getName()))->toBeFalse(); expect($tenantDatabaseExists($tenant))->toBeTrue();
} }
});
pest()->artisan('migrate:fresh', [
'--force' => true,
'--path' => __DIR__ . '/../assets/migrations',
'--realpath' => true,
]);
foreach ($tenants as $tenant) {
expect($tenantDatabaseExists($tenant))->toBeTrue();
}
config(['tenancy.database.drop_tenant_databases_on_migrate_fresh' => true]);
$tenants = [
Tenant::create(),
Tenant::create(),
Tenant::create(),
];
foreach ($tenants as $tenant) {
expect($tenantDatabaseExists($tenant))->toBeTrue();
}
pest()->artisan('migrate:fresh', [
'--force' => true,
'--path' => __DIR__ . '/../assets/migrations',
'--realpath' => true,
]);
foreach ($tenants as $tenant) {
expect($tenantDatabaseExists($tenant))->toBeFalse();
}
})->group('fresh');
// todo@tests // todo@tests
function runCommandWorks(): void function runCommandWorks(): void