public function testPrintStatusMethodWithMissingMigrations() { // stub environment $envStub = $this->getMock('\\Phinx\\Migration\\Manager\\Environment', array(), array('mockenv', array())); $envStub->expects($this->once())->method('getVersions')->will($this->returnValue(array('20120103083300', '20120815145812'))); $this->manager->setEnvironments(array('mockenv' => $envStub)); $this->manager->printStatus('mockenv'); rewind($this->manager->getOutput()->getStream()); $outputStr = stream_get_contents($this->manager->getOutput()->getStream()); $this->assertRegExp('/up 20120103083300 \\*\\* MISSING \\*\\*/', $outputStr); $this->assertRegExp('/up 20120815145812 \\*\\* MISSING \\*\\*/', $outputStr); }
/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage The seed class "NonExistentSeeder" does not exist */ public function testExecuteANonExistentSeedWorksAsExpected() { // stub environment $envStub = $this->getMock('\\Phinx\\Migration\\Manager\\Environment', array(), array('mockenv', array())); $this->manager->setEnvironments(array('mockenv' => $envStub)); $this->manager->seed('mockenv', 'NonExistentSeeder'); rewind($this->manager->getOutput()->getStream()); $output = stream_get_contents($this->manager->getOutput()->getStream()); $this->assertContains('UserSeeder', $output); }
/** * Test that migrating by date chooses the correct * migration to point to. * * @dataProvider rollbackDateDataProvider */ public function testRollbacksByDate($availableRollbacks, $dateString, $expectedRollback) { // stub environment $envStub = $this->getMock('\\Phinx\\Migration\\Manager\\Environment', array(), array('mockenv', array())); $envStub->expects($this->any())->method('getVersions')->will($this->returnValue($availableRollbacks)); $this->manager->setEnvironments(array('mockenv' => $envStub)); $this->manager->rollbackToDateTime('mockenv', new \DateTime($dateString)); rewind($this->manager->getOutput()->getStream()); $output = stream_get_contents($this->manager->getOutput()->getStream()); if (is_null($expectedRollback)) { $this->assertEmpty($output); } else { $this->assertContains($expectedRollback, $output); } }