mirror of
https://github.com/archtechx/tenancy.git
synced 2026-02-05 18:34:04 +00:00
add storage driver assertion
This commit is contained in:
parent
b07b848a56
commit
70234e1123
5 changed files with 22 additions and 4 deletions
|
|
@ -57,8 +57,8 @@ class TenancyServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
$this->mergeConfigFrom(__DIR__ . '/assets/config.php', 'tenancy');
|
$this->mergeConfigFrom(__DIR__ . '/assets/config.php', 'tenancy');
|
||||||
|
|
||||||
$this->app->bind(StorageDriver::class, $this->app['config']['tenancy.storage_driver']);
|
|
||||||
$this->app->bind(TenantModel::class, $this->app['config']['tenancy.tenant_model']);
|
$this->app->bind(TenantModel::class, $this->app['config']['tenancy.tenant_model']);
|
||||||
|
$this->app->bind(StorageDriver::class, $this->app['config']['tenancy.storage_driver']);
|
||||||
$this->app->bind(ServerConfigManager::class, $this->app['config']['tenancy.server.manager']);
|
$this->app->bind(ServerConfigManager::class, $this->app['config']['tenancy.server.manager']);
|
||||||
$this->app->singleton(DatabaseManager::class);
|
$this->app->singleton(DatabaseManager::class);
|
||||||
$this->app->singleton(TenantManager::class, function ($app) {
|
$this->app->singleton(TenantManager::class, function ($app) {
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Stancl\Tenancy;
|
namespace Stancl\Tenancy;
|
||||||
|
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
use Stancl\Tenancy\Interfaces\TenantModel;
|
||||||
|
|
||||||
class Tenant extends Model implements TenantModel
|
class Tenant extends Model implements TenantModel
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -320,4 +320,9 @@ class TenantManager
|
||||||
|
|
||||||
return $this->tenant[(string) $attribute];
|
return $this->tenant[(string) $attribute];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getStorageDriver(): Interfaces\StorageDriver
|
||||||
|
{
|
||||||
|
return $this->storage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,9 @@
|
||||||
|
|
||||||
namespace Stancl\Tenancy\Tests;
|
namespace Stancl\Tenancy\Tests;
|
||||||
|
|
||||||
|
use Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver;
|
||||||
|
use Stancl\Tenancy\StorageDrivers\RedisStorageDriver;
|
||||||
|
|
||||||
class TenantStorageTest extends TestCase
|
class TenantStorageTest extends TestCase
|
||||||
{
|
{
|
||||||
/** @test */
|
/** @test */
|
||||||
|
|
@ -109,8 +112,16 @@ class TenantStorageTest extends TestCase
|
||||||
{
|
{
|
||||||
$value = ['foo' => 'bar', 'abc' => 'xyz'];
|
$value = ['foo' => 'bar', 'abc' => 'xyz'];
|
||||||
|
|
||||||
dd(\Stancl\Tenancy\Tenant::find(tenant('uuid')));
|
|
||||||
|
|
||||||
$this->assertSame($value, tenancy()->put($value));
|
$this->assertSame($value, tenancy()->put($value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function correct_storage_driver_is_used()
|
||||||
|
{
|
||||||
|
if (config('tenancy.storage_driver') == DatabaseStorageDriver::class) {
|
||||||
|
$this->assertSame('DatabaseStorageDriver', class_basename(tenancy()->getStorageDriver()));
|
||||||
|
} elseif (config('tenancy.storage_driver') == RedisStorageDriver::class) {
|
||||||
|
$this->assertSame('RedisStorageDriver', class_basename(tenancy()->getStorageDriver()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace Stancl\Tenancy\Tests;
|
namespace Stancl\Tenancy\Tests;
|
||||||
|
|
||||||
use Illuminate\Support\Facades\Redis;
|
use Illuminate\Support\Facades\Redis;
|
||||||
|
use Illuminate\Support\Facades\Artisan;
|
||||||
use Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver;
|
use Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver;
|
||||||
|
|
||||||
abstract class TestCase extends \Orchestra\Testbench\TestCase
|
abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
|
|
@ -21,7 +22,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
|
|
||||||
Redis::connection('tenancy')->flushdb();
|
Redis::connection('tenancy')->flushdb();
|
||||||
Redis::connection('cache')->flushdb();
|
Redis::connection('cache')->flushdb();
|
||||||
Artisan::call('migrate');
|
Artisan::call('migrate'); // todo load default migration
|
||||||
|
|
||||||
if ($this->autoCreateTenant) {
|
if ($this->autoCreateTenant) {
|
||||||
$this->createTenant();
|
$this->createTenant();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue