mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 11:14:04 +00:00
Refactor more old code and get tests to pass
This commit is contained in:
parent
c5377a16f7
commit
c32f229dd5
72 changed files with 425 additions and 531 deletions
|
|
@ -4,32 +4,39 @@ declare(strict_types=1);
|
|||
|
||||
namespace Stancl\Tenancy\Tests\Features;
|
||||
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Stancl\Tenancy\Database\Models\Tenant;
|
||||
use Stancl\Tenancy\Events\TenancyEnded;
|
||||
use Stancl\Tenancy\Events\TenancyInitialized;
|
||||
use Stancl\Tenancy\Features\TenantConfig;
|
||||
use Stancl\Tenancy\Listeners\BootstrapTenancy;
|
||||
use Stancl\Tenancy\Listeners\RevertToCentralContext;
|
||||
use Stancl\Tenancy\Tests\TestCase;
|
||||
|
||||
class TenantConfigTest extends TestCase
|
||||
{
|
||||
public $autoInitTenancy = false;
|
||||
public $autoCreateTenant = false;
|
||||
|
||||
/** @test */
|
||||
public function config_is_merged_and_removed()
|
||||
{
|
||||
$this->assertSame(null, config('services.paypal'));
|
||||
config([
|
||||
'tenancy.features' => [TenantConfig::class],
|
||||
'tenancy.bootstrappers' => [],
|
||||
]);
|
||||
Event::listen(TenancyInitialized::class, BootstrapTenancy::class);
|
||||
Event::listen(TenancyEnded::class, RevertToCentralContext::class);
|
||||
|
||||
TenantConfig::$storageToConfigMap = [
|
||||
'paypal_api_public' => 'services.paypal.public',
|
||||
'paypal_api_private' => 'services.paypal.private',
|
||||
];
|
||||
|
||||
tenancy()->create('foo.localhost', [
|
||||
$tenant = Tenant::create([
|
||||
'paypal_api_public' => 'foo',
|
||||
'paypal_api_private' => 'bar',
|
||||
]);
|
||||
|
||||
tenancy()->init('foo.localhost');
|
||||
tenancy()->initialize($tenant);
|
||||
$this->assertSame(['public' => 'foo', 'private' => 'bar'], config('services.paypal'));
|
||||
|
||||
tenancy()->end();
|
||||
|
|
|
|||
|
|
@ -1,56 +0,0 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Stancl\Tenancy\Tests\Features;
|
||||
|
||||
use Stancl\Tenancy\Features\Timestamps;
|
||||
use Stancl\Tenancy\Tenant;
|
||||
use Stancl\Tenancy\Tests\TestCase;
|
||||
|
||||
class TimestampTest extends TestCase
|
||||
{
|
||||
public $autoCreateTenant = false;
|
||||
public $autoInitTenancy = false;
|
||||
|
||||
public function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
config(['tenancy.features' => [
|
||||
Timestamps::class,
|
||||
]]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function create_and_update_timestamps_are_added_on_create()
|
||||
{
|
||||
$tenant = Tenant::new()->save();
|
||||
$this->assertArrayHasKey('created_at', $tenant->data);
|
||||
$this->assertArrayHasKey('updated_at', $tenant->data);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function update_timestamps_are_added()
|
||||
{
|
||||
$tenant = Tenant::new()->save();
|
||||
$this->assertSame($tenant->created_at, $tenant->updated_at);
|
||||
$this->assertSame('string', gettype($tenant->created_at));
|
||||
|
||||
sleep(1);
|
||||
|
||||
$tenant->put('abc', 'def');
|
||||
|
||||
$this->assertTrue($tenant->updated_at > $tenant->created_at);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function softdelete_timestamps_are_added()
|
||||
{
|
||||
$tenant = Tenant::new()->save();
|
||||
$this->assertNull($tenant->deleted_at);
|
||||
|
||||
$tenant->softDelete();
|
||||
$this->assertNotNull($tenant->deleted_at);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue