/** * @dataProvider versionsAndRanges * @param array $data_set * @throws Exception */ public function testMigrationAndRange(array $data_set) { foreach ($data_set as $parameters) { list($version, $range, $expectedTables) = $parameters; $this->migrator->migrateTo($version); $this->assertEquals($range, $this->migrator->getVersionRange()); $tables = $this->getTables(); unset($tables['__version_log']); $this->assertEquals($expectedTables, $tables); } }
/** * @param array $expected * @param int $version * @param array $upgrades * @param array $downgrades * @dataProvider versionRanges */ public function testGetVersionRange(array $expected, $version, array $upgrades, array $downgrades) { $this->log->method('getCurrentVersion')->willReturn($version); $this->reader->method('upgradeExistsTo')->willReturnCallback(function ($v) use($upgrades) { return in_array($v, $upgrades); }); $this->reader->method('downgradeExistsFrom')->willReturnCallback(function ($v) use($downgrades) { return in_array($v, $downgrades); }); $this->assertEquals($expected, $this->migratorReal->getVersionRange()); }