1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 14:34:04 +00:00

Fix custom columns, add tests (#122)

* Fix custom columns & add test

* Apply fixes from StyleCI
This commit is contained in:
Samuel Štancl 2019-09-04 16:53:01 +02:00 committed by GitHub
parent 6de9ee9421
commit f4421af6c5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 55 additions and 1 deletions

View file

@ -0,0 +1,26 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddCustomColumn extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('tenants', function (Blueprint $table) {
$table->string('foo')->nullable();
});
}
public function down()
{
}
}

View file

@ -170,4 +170,32 @@ class TenantStorageTest extends TestCase
$this->assertSame('bar', tenancy()->get('foo'));
$this->assertSame(['bar'], tenancy()->get(['foo']));
}
/** @test */
public function custom_columns_work_with_db_storage_driver()
{
if (config('tenancy.storage_driver') != 'Stancl\Tenancy\StorageDrivers\DatabaseStorageDriver') {
$this->markTestSkipped();
}
tenancy()->end();
$this->loadMigrationsFrom([
'--path' => __DIR__ . '/Etc',
'--database' => 'central',
]);
config(['database.default' => 'sqlite']); // fix issue caused by loadMigrationsFrom
config(['tenancy.storage.db.custom_columns' => [
'foo',
]]);
tenancy()->create('foo.localhost');
tenancy()->init('foo.localhost');
tenancy()->put(['foo' => 'bar', 'abc' => 'xyz']);
$this->assertSame(['bar', 'xyz'], tenancy()->get(['foo', 'abc']));
$this->assertSame('bar', \DB::connection('central')->table('tenants')->where('uuid', tenant('uuid'))->first()->foo);
}
}