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

Add ServerManagerTest, fix a lot of bugs

This commit is contained in:
Samuel Štancl 2019-02-02 12:08:08 +01:00
parent 35eab00742
commit 5ce0d946ee
6 changed files with 81 additions and 6 deletions

View file

@ -0,0 +1,42 @@
<?php
namespace Stancl\Tenancy\Tests;
use Stancl\Tenancy\ServerManager;
class ServerManagerTest extends TestCase
{
public function setUp()
{
parent::setUp();
$this->serverManager = app(ServerManager::class);
}
/** @test */
public function getConfigFilePath_works_when_single_file_mode_is_used()
{
config([
'tenancy.server.file.single' => true,
'tenancy.server.file.path' => '/foo/bar',
]);
$this->assertSame('/foo/bar', $this->serverManager->getConfigFilePath());
}
/** @test */
public function getConfigFilePath_works_when_multiple_files_mode_is_used()
{
config([
'tenancy.server.file.single' => false,
'tenancy.server.file.path' => [
'prefix' => '/etc/foo',
'suffix' => 'bar'
],
]);
$uuid = tenant('uuid');
$this->assertSame("/etc/foo{$uuid}bar", $this->serverManager->getConfigFilePath());
}
}

View file

@ -2,6 +2,8 @@
namespace Stancl\Tenancy\Tests;
use Illuminate\Support\Facades\Redis;
class TestCase extends \Orchestra\Testbench\TestCase
{
/**
@ -13,7 +15,35 @@ class TestCase extends \Orchestra\Testbench\TestCase
{
parent::setUp();
//
Redis::connection('tenancy')->flushdb();
tenant()->create('phpunit.localhost');
tenancy()->init('phpunit.localhost');
}
/**
* Define environment setup.
*
* @param \Illuminate\Foundation\Application $app
* @return void
*/
protected function getEnvironmentSetUp($app)
{
$app['config']->set('database.redis.client', 'phpredis');
$app['config']->set('database.redis.tenancy', [
'host' => env('TENANCY_TEST_REDIS_HOST', '127.0.0.1'),
'password' => env('TENANCY_TEST_REDIS_PASSWORD', null),
'port' => env('TENANCY_TEST_REDIS_PORT', 6379),
// Use the #14 Redis database unless specified otherwise.
// Make sure you don't store anything in this db!
'database' => env('TENANCY_TEST_REDIS_DB', 14),
]);
$app['config']->set('tenancy.database', [
'based_on' => 'sqlite',
'prefix' => 'tenant',
'suffix' => '.sqlite',
]);
}
protected function getPackageProviders($app)