/** * @dataProvider upProvider */ public function testUp(array $migrations, array $expectedUpdates) { $queryBag = new QueryBag(); $updateMigration = new UpdateBundleVersionMigration($migrations); $updateMigration->up(new Schema(), $queryBag); $assertQueries = []; foreach ($expectedUpdates as $bundleName => $version) { $assertQueries[] = sprintf("INSERT INTO %s (bundle, version, loaded_at) VALUES ('%s', '%s',", CreateMigrationTableMigration::MIGRATION_TABLE, $bundleName, $version); } $this->assertEmpty($queryBag->getPreQueries()); $postSqls = $queryBag->getPostQueries(); foreach ($assertQueries as $index => $query) { $this->assertTrue(strpos($postSqls[$index], $query) === 0, sprintf('Query index: %d. Query: %s', $index, $query)); } }
public function testBundleVersions() { $schema = new Schema(); $queryBag = new QueryBag(); $bundleVersions = ['testBundle' => 'v1_0', 'test1Bundle' => 'v1_1']; $updateMigration = new UpdateBundleVersionMigration($bundleVersions); $updateMigration->up($schema, $queryBag); $assertQueries = []; foreach ($bundleVersions as $bundleName => $version) { $assertQueries[] = sprintf("INSERT INTO %s (bundle, version, loaded_at) VALUES ('%s', '%s',", CreateMigrationTableMigration::MIGRATION_TABLE, $bundleName, $version); } $this->assertEmpty($queryBag->getPreQueries()); $postSqls = $queryBag->getPostQueries(); foreach ($assertQueries as $index => $query) { $this->assertTrue(strpos($postSqls[$index], $query) === 0); } }