1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 22:54:03 +00:00

[1.7.0] Add the option to set values & db name during tenant creation (#86)

* Add the option to set values & db name during tenant creation

* Apply fixes from StyleCI

* Add tests

* Apply fixes from StyleCI

* Rewrite conditional for clarity
This commit is contained in:
Samuel Štancl 2019-08-13 19:16:00 +02:00 committed by GitHub
parent 769ec16f89
commit d7358c588c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 113 additions and 1 deletions

View file

@ -4,6 +4,7 @@ namespace Stancl\Tenancy\Tests;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
use Stancl\Tenancy\Exceptions\CannotChangeUuidOrDomainException;
class TenantManagerTest extends TestCase
{
@ -194,4 +195,50 @@ class TenantManagerTest extends TestCase
$tenant2 = tenant()->create('bar.localhost');
$this->assertEqualsCanonicalizing([$tenant1, $tenant2], tenant()->all()->toArray());
}
/** @test */
public function properites_can_be_passed_in_the_create_method()
{
$data = ['plan' => 'free', 'subscribed_until' => '2020-01-01'];
$tenant = tenant()->create('foo.localhost', $data);
$tenant_data = $tenant;
unset($tenant_data['uuid']);
unset($tenant_data['domain']);
$this->assertSame($data, $tenant_data);
}
/** @test */
public function database_name_can_be_passed_in_the_create_method()
{
$database = 'abc';
config(['tenancy.database_name_key' => '_stancl_tenancy_database_name']);
$tenant = tenant()->create('foo.localhost', [
'_stancl_tenancy_database_name' => $database,
]);
$this->assertSame($database, tenant()->getDatabaseName($tenant));
}
/** @test */
public function uuid_and_domain_cannot_be_changed()
{
$tenant = tenant()->create('foo.localhost');
$this->expectException(CannotChangeUuidOrDomainException::class);
tenant()->put('uuid', 'foo', $tenant['uuid']);
$this->expectException(CannotChangeUuidOrDomainException::class);
tenant()->put(['uuid' => 'foo'], null, $tenant['uuid']);
tenancy()->init('foo.localhost');
$this->expectException(CannotChangeUuidOrDomainException::class);
tenant()->put('uuid', 'foo');
$this->expectException(CannotChangeUuidOrDomainException::class);
tenant()->put(['uuid' => 'foo']);
}
}