mirror of
https://github.com/stancl/tenancy-docs.git
synced 2025-12-12 10:14:03 +00:00
1.5 KiB
1.5 KiB
| title | description | extends | section |
|---|---|---|---|
| Application Testing | Application Testing.. | _layouts.documentation | content |
Application Testing
Note: You cannot use
:memory:SQLite databases or theRefreshDatabasetrait due to the switching of default database.
To test your application with this package installed, you can create tenants in the setUp() method of your test case:
protected function setUp(): void
{
parent::setUp();
tenancy()->create('test.localhost');
tenancy()->init('test.localhost');
}
And to delete tenants & their databases after tests:
public function tearDown(): void
{
config([
'tenancy.queue_database_deletion' => false,
'tenancy.delete_database_after_tenant_deletion' => true,
]);
tenancy()->all()->each->delete();
parent::tearDown();
}
If you're using the database storage driver, you will also need to run the migrations:
protected function setUp(): void
{
parent::setUp();
$this->artisan('migrate:fresh');
tenancy()->create('test.localhost');
tenancy()->init('test.localhost');
}
If you're using the Redis storage driver, flush the database in setUp():
protected function setUp(): void
{
parent::setUp();
// make sure you're using a different connection for testing to avoid losing data
Redis::connection('tenancyTesting')->flushdb();
tenant()->create('test.localhost');
tenancy()->init('test.localhost');
}