示例#1
0
 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);
 }
示例#2
0
 /**
  * @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);
 }
示例#3
0
 /**
  * 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);
     }
 }