/** * @param $path * @param $to * @param $getSqlReturn * * @dataProvider writeSqlFileProvider */ public function testWriteSqlFile($path, $from, $to, $getSqlReturn) { $expectedReturn = 123; $sqlWriter = m::instanceMock('overload:Doctrine\\DBAL\\Migrations\\SqlFileWriter'); $sqlWriter->shouldReceive('write')->with(m::type('array'), m::anyOf('up', 'down'))->andReturn($expectedReturn); $outputWriter = m::mock('Doctrine\\DBAL\\Migrations\\OutputWriter'); $outputWriter->shouldReceive('write'); $config = m::mock('Doctrine\\DBAL\\Migrations\\Configuration\\Configuration')->makePartial(); $config->shouldReceive('getCurrentVersion')->andReturn($from); $config->shouldReceive('getOutputWriter')->andReturn($outputWriter); if ($to == null) { // this will always just test the "up" direction $config->shouldReceive('getLatestVersion')->andReturn($from + 1); } $migration = m::mock('Doctrine\\DBAL\\Migrations\\Migration[getSql]', [$config])->makePartial(); $migration->shouldReceive('getSql')->with($to)->andReturn($getSqlReturn); $result = $migration->writeSqlFile($path, $to); $this->assertEquals($expectedReturn, $result); }
/** * @param $path * @param $to * @param $getSqlReturn * * @dataProvider writeSqlFileProvider */ public function testWriteSqlFile($path, $direction, $getSqlReturn) { $version = 1; $outputWriter = m::mock('Doctrine\\DBAL\\Migrations\\OutputWriter'); $outputWriter->shouldReceive('write'); $connection = m::mock('Doctrine\\DBAL\\Connection'); $connection->shouldReceive(array('getSchemaManager' => 'something', 'getDatabasePlatform' => 'something else')); $config = m::mock('Doctrine\\DBAL\\Migrations\\Configuration\\Configuration')->makePartial(); $config->shouldReceive('getOutputWriter')->andReturn($outputWriter); $config->shouldReceive('getConnection')->andReturn($connection); $migration = m::mock('Doctrine\\DBAL\\Migrations\\Version[execute]', array($config, $version, 'stdClass'))->makePartial(); $migration->shouldReceive('execute')->with($direction, true)->andReturn($getSqlReturn); $expectedReturn = 123; $sqlWriter = m::instanceMock('overload:Doctrine\\DBAL\\Migrations\\SqlFileWriter'); $sqlWriter->shouldReceive('write')->with(m::type('array'), m::anyOf('up', 'down'))->andReturn($expectedReturn); $result = $migration->writeSqlFile($path, $direction); $this->assertEquals($expectedReturn, $result); }