mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 16:24:04 +00:00
ensureTenantCanBeCreated test
This commit is contained in:
parent
65b2c6ceee
commit
8beaaaeda7
2 changed files with 16 additions and 2 deletions
|
|
@ -7,7 +7,7 @@ namespace Stancl\Tenancy\StorageDrivers\Database;
|
||||||
use Illuminate\Foundation\Application;
|
use Illuminate\Foundation\Application;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Stancl\Tenancy\Contracts\StorageDriver;
|
use Stancl\Tenancy\Contracts\StorageDriver;
|
||||||
use Stancl\Tenancy\Exceptions\DomainOccupiedByOtherTenantException;
|
use Stancl\Tenancy\Exceptions\DomainsOccupiedByOtherTenantException;
|
||||||
use Stancl\Tenancy\Exceptions\TenantCouldNotBeIdentifiedException;
|
use Stancl\Tenancy\Exceptions\TenantCouldNotBeIdentifiedException;
|
||||||
use Stancl\Tenancy\Exceptions\TenantWithThisIdAlreadyExistsException;
|
use Stancl\Tenancy\Exceptions\TenantWithThisIdAlreadyExistsException;
|
||||||
use Stancl\Tenancy\StorageDrivers\Database\DomainModel as Domains;
|
use Stancl\Tenancy\StorageDrivers\Database\DomainModel as Domains;
|
||||||
|
|
@ -60,7 +60,7 @@ class DatabaseStorageDriver implements StorageDriver
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Domains::whereIn('domain', $tenant->domains)->exists()) {
|
if (Domains::whereIn('domain', $tenant->domains)->exists()) {
|
||||||
throw new DomainOccupiedByOtherTenantException();
|
throw new DomainsOccupiedByOtherTenantException;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ namespace Stancl\Tenancy\Tests;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Stancl\Tenancy\Exceptions\DomainsOccupiedByOtherTenantException;
|
||||||
|
use Stancl\Tenancy\Exceptions\TenantWithThisIdAlreadyExistsException;
|
||||||
use Stancl\Tenancy\Tenant;
|
use Stancl\Tenancy\Tenant;
|
||||||
use Stancl\Tenancy\TenantManager;
|
use Stancl\Tenancy\TenantManager;
|
||||||
|
|
||||||
|
|
@ -230,4 +232,16 @@ class TenantManagerTest extends TestCase
|
||||||
tenancy()->initialize($tenant2);
|
tenancy()->initialize($tenant2);
|
||||||
$this->assertTrue(\Schema::hasTable('users'));
|
$this->assertTrue(\Schema::hasTable('users'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function ensureTenantCanBeCreated_works()
|
||||||
|
{
|
||||||
|
$id = 'foo' . $this->randomString();
|
||||||
|
Tenant::create(['foo.localhost'], ['id' => $id]);
|
||||||
|
$this->expectException(DomainsOccupiedByOtherTenantException::class);
|
||||||
|
Tenant::create(['foo.localhost']);
|
||||||
|
|
||||||
|
$this->expectException(TenantWithThisIdAlreadyExistsException::class);
|
||||||
|
Tenant::create(['bar.localhost'], ['id' => $id]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue