diff options
author | Igor Scheller <igor.scheller@igorshp.de> | 2018-08-20 20:58:51 +0200 |
---|---|---|
committer | Igor Scheller <igor.scheller@igorshp.de> | 2018-08-20 21:07:57 +0200 |
commit | d6c8f1a61475fefa9594141aaf12a28d220bdaf8 (patch) | |
tree | 905051fdb1307f947c3a3a7be240609f8bc00e59 /tests/Unit/Database/Migration/MigrationServiceProviderTest.php | |
parent | bf6efe532c8f2de84e95b090911280a9b1b61ce8 (diff) | |
parent | 2f41b9e4418def9b69cf237312bc592364585025 (diff) |
Merge branch 'master' to 'rebuild-database'
Diffstat (limited to 'tests/Unit/Database/Migration/MigrationServiceProviderTest.php')
-rw-r--r-- | tests/Unit/Database/Migration/MigrationServiceProviderTest.php | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/Unit/Database/Migration/MigrationServiceProviderTest.php b/tests/Unit/Database/Migration/MigrationServiceProviderTest.php new file mode 100644 index 00000000..a99cdebe --- /dev/null +++ b/tests/Unit/Database/Migration/MigrationServiceProviderTest.php @@ -0,0 +1,55 @@ +<?php + +namespace Engelsystem\Test\Unit\Database\Migration; + +use Engelsystem\Database\Db; +use Engelsystem\Database\Migration\Migrate; +use Engelsystem\Database\Migration\MigrationServiceProvider; +use Engelsystem\Test\Unit\ServiceProviderTest; +use Illuminate\Database\Capsule\Manager as CapsuleManager; +use Illuminate\Database\Connection; +use Illuminate\Database\Schema\Builder as SchemaBuilder; +use PHPUnit_Framework_MockObject_MockObject as MockObject; + +class MigrationServiceProviderTest extends ServiceProviderTest +{ + /** + * @covers \Engelsystem\Database\Migration\MigrationServiceProvider::register() + */ + public function testRegister() + { + /** @var MockObject|Migrate $migration */ + $migration = $this->getMockBuilder(Migrate::class) + ->disableOriginalConstructor() + ->getMock(); + /** @var MockObject|CapsuleManager $dbManager */ + $dbManager = $this->getMockBuilder(CapsuleManager::class) + ->disableOriginalConstructor() + ->getMock(); + /** @var MockObject|Connection $dbConnection */ + $dbConnection = $this->getMockBuilder(Connection::class) + ->disableOriginalConstructor() + ->getMock(); + /** @var MockObject|SchemaBuilder $schemaBuilder */ + $schemaBuilder = $this->getMockBuilder(SchemaBuilder::class) + ->disableOriginalConstructor() + ->getMock(); + + $app = $this->getApp(['make', 'instance', 'bind']); + + $app->expects($this->atLeastOnce()) + ->method('instance') + ->withConsecutive(['db.scheme'], ['db.migration']) + ->willReturnOnConsecutiveCalls($schemaBuilder, $migration); + + $this->setExpects($app, 'bind', [SchemaBuilder::class, 'db.scheme']); + $this->setExpects($app, 'make', [Migrate::class], $migration); + + $this->setExpects($dbConnection, 'getSchemaBuilder', null, $schemaBuilder); + $this->setExpects($dbManager, 'getConnection', null, $dbConnection); + Db::setDbManager($dbManager); + + $serviceProvider = new MigrationServiceProvider($app); + $serviceProvider->register(); + } +} |