mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 09:34:04 +00:00
Add 5.8 support (#33)
This commit is contained in:
parent
725b43ce8c
commit
78fd7d43f6
7 changed files with 41 additions and 15 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,3 +3,4 @@ composer.lock
|
|||
vendor/
|
||||
.vscode/
|
||||
psysh
|
||||
.phpunit.result.cache
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
env:
|
||||
- DB_USERNAME=root DB_PASSWORD="" DB_DATABASE=travis_tenancy CODECOV_TOKEN="24382d15-84e7-4a55-bea4-c4df96a24a9b"
|
||||
- LARAVEL_VERSION="5.7.*" TESTBENCH_VERSION="~3.7"
|
||||
- LARAVEL_VERSION="5.8.*" TESTBENCH_VERSION="~3.8"
|
||||
|
||||
language: php
|
||||
php:
|
||||
- '7.2'
|
||||
- '7.1'
|
||||
|
||||
services:
|
||||
|
|
@ -14,10 +14,13 @@ before_install:
|
|||
- echo "extension = redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
|
||||
install:
|
||||
- composer require "laravel/framework:$LARAVEL_VERSION" "orchestra/testbench:$TESTBENCH_VERSION"
|
||||
- travis_retry composer install --no-interaction
|
||||
|
||||
before_script:
|
||||
- mysql -e 'CREATE DATABASE travis_tenancy;'
|
||||
- export DB_USERNAME=root DB_PASSWORD="" DB_DATABASE=travis_tenancy CODECOV_TOKEN="24382d15-84e7-4a55-bea4-c4df96a24a9b"
|
||||
- cat vendor/laravel/framework/src/Illuminate/Foundation/Application.php| grep 'const VERSION'
|
||||
|
||||
script: vendor/bin/phpunit -v --coverage-clover=coverage.xml
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Tenancy
|
||||
|
||||
[](https://laravel.com)
|
||||
[](https://laravel.com)
|
||||
[](https://packagist.org/packages/stancl/tenancy)
|
||||
[](https://travis-ci.com/stancl/tenancy)
|
||||
[](https://codecov.io/gh/stancl/tenancy)
|
||||
|
|
@ -25,6 +25,8 @@ composer require stancl/tenancy
|
|||
|
||||
This package follows [semantic versioning 2.0.0](https://semver.org). Each major release will have its own branch, so that bug fixes can be provided for older versions as well.
|
||||
|
||||
Both Laravel 5.7 and 5.8 are supported.
|
||||
|
||||
### Configuring the `InitializeTenancy` middleware
|
||||
|
||||
The `TenancyServiceProvider` automatically adds the `tenancy` middleware group which can be assigned to routes. You only need to make sure the middleware is top priority.
|
||||
|
|
|
|||
|
|
@ -10,14 +10,14 @@
|
|||
}
|
||||
],
|
||||
"require": {
|
||||
"illuminate/support": "^5.7",
|
||||
"illuminate/support": "5.7.*||5.8.*",
|
||||
"webpatser/laravel-uuid": "^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"orchestra/testbench": "~3.0",
|
||||
"laravel/framework": "5.7.*",
|
||||
"vlucas/phpdotenv": "^2.2",
|
||||
"vlucas/phpdotenv": "^2.2||^3.3",
|
||||
"psy/psysh": "@stable",
|
||||
"laravel/framework": "5.7.*||5.8.*",
|
||||
"orchestra/testbench": "~3.7||~3.8",
|
||||
"league/flysystem-aws-s3-v3": "~1.0"
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -42,5 +42,7 @@
|
|||
"Tenancy": "Stancl\\Tenancy\\TenancyFacade"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ class CacheManagerTest extends TestCase
|
|||
/** @test */
|
||||
public function default_tag_is_automatically_applied()
|
||||
{
|
||||
$this->assertArraySubset([config('tenancy.cache.tag_base') . tenant('uuid')], cache()->tags('foo')->getTags()->getNames());
|
||||
$this->assertArrayIsSubset([config('tenancy.cache.tag_base') . tenant('uuid')], cache()->tags('foo')->getTags()->getNames());
|
||||
}
|
||||
|
||||
/** @test */
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ class CommandsTest extends TestCase
|
|||
{
|
||||
public $autoInitTenancy = false;
|
||||
|
||||
public function setUp()
|
||||
public function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
|
|
@ -19,10 +19,13 @@ class CommandsTest extends TestCase
|
|||
/** @test */
|
||||
public function migrate_command_doesnt_change_the_db_connection()
|
||||
{
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
|
||||
$old_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
||||
Artisan::call('tenants:migrate');
|
||||
$new_connection_name = app(\Illuminate\Database\DatabaseManager::class)->connection()->getName();
|
||||
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
$this->assertEquals($old_connection_name, $new_connection_name);
|
||||
$this->assertNotEquals('tenant', $new_connection_name);
|
||||
}
|
||||
|
|
@ -30,9 +33,10 @@ class CommandsTest extends TestCase
|
|||
/** @test */
|
||||
public function migrate_command_works_without_options()
|
||||
{
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
Artisan::call('tenants:migrate');
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
tenancy()->init();
|
||||
tenancy()->init('localhost');
|
||||
$this->assertTrue(Schema::hasTable('users'));
|
||||
}
|
||||
|
||||
|
|
@ -45,7 +49,7 @@ class CommandsTest extends TestCase
|
|||
]);
|
||||
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
tenancy()->init();
|
||||
tenancy()->init('localhost');
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
|
||||
tenancy()->init('test.localhost');
|
||||
|
|
@ -57,7 +61,7 @@ class CommandsTest extends TestCase
|
|||
{
|
||||
Artisan::call('tenants:migrate');
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
tenancy()->init();
|
||||
tenancy()->init('localhost');
|
||||
$this->assertTrue(Schema::hasTable('users'));
|
||||
Artisan::call('tenants:rollback');
|
||||
$this->assertFalse(Schema::hasTable('users'));
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function setUp()
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
|
|
@ -48,7 +48,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
protected function getEnvironmentSetUp($app)
|
||||
{
|
||||
if (file_exists(__DIR__ . '/../.env')) {
|
||||
(new \Dotenv\Dotenv(__DIR__ . '/..'))->load();
|
||||
$this->loadDotEnv();
|
||||
}
|
||||
|
||||
$app['config']->set([
|
||||
|
|
@ -75,6 +75,15 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
]);
|
||||
}
|
||||
|
||||
protected function loadDotEnv()
|
||||
{
|
||||
if (app()::VERSION > '5.8.0') {
|
||||
\Dotenv\Dotenv::create(__DIR__ . '/..')->load();
|
||||
} else {
|
||||
(new \Dotenv\Dotenv(__DIR__ . '/..'))->load();
|
||||
}
|
||||
}
|
||||
|
||||
protected function getPackageProviders($app)
|
||||
{
|
||||
return [\Stancl\Tenancy\TenancyServiceProvider::class];
|
||||
|
|
@ -102,4 +111,9 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
|||
// set one of these environment vars on their computer.
|
||||
return env('CI') && env('TRAVIS') && env('CONTINUOUS_INTEGRATION');
|
||||
}
|
||||
|
||||
public function assertArrayIsSubset($subset, $array, string $message = ''): void
|
||||
{
|
||||
parent::assertTrue(array_intersect($subset, $array) == $subset, $message);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue