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

partial database config for template

This commit is contained in:
Abrar Ahmad 2023-01-05 14:23:46 +05:00
parent 2e3b8f7108
commit bc27a93eda
2 changed files with 33 additions and 3 deletions

View file

@ -440,6 +440,31 @@ test('template tenant connection value can be connection name or connection arra
expect($manager->database()->getConfig('host'))->toBe('mysql2');
});
test('template tenant connection value can be partial database config', function () {
Event::listen(TenantCreated::class, JobPipeline::make([CreateDatabase::class])->send(function (TenantCreated $event) {
return $event->tenant;
})->toListener());
config([
'database.connections.central.url' => 'example.com',
'tenancy.database.template_tenant_connection' => [
'url' => null,
'host' => 'mysql2',
],
]);
$name = 'foo' . Str::random(8);
$tenant = Tenant::create([
'tenancy_db_name' => $name,
]);
/** @var MySQLDatabaseManager $manager */
$manager = $tenant->database()->manager();
expect($manager->databaseExists($name))->toBeTrue();
expect($manager->database()->getConfig('host'))->toBe('mysql2');
expect($manager->database()->getConfig('url'))->toBeNull();
});
// Datasets
dataset('database_managers', [
['mysql', MySQLDatabaseManager::class],