コード例 #1
0
ファイル: EntityTest.php プロジェクト: Anyqax/Phabric
 public function testInsertFromTableWithMultipleFeaturesEnabled()
 {
     $tableData = array(array('Name', 'Date', 'Venue'), array('PHPNW', '08/10/2011 09:00', 'Ramada Hotel'));
     $tableData = array(array('Name' => 'PHPNW', 'Date' => '08/10/2011 09:00', 'Venue' => 'Ramada Hotel'));
     $tableNode = m::mock('Behat\\Gherkin\\Node\\TableNode');
     $tableNode->shouldReceive('getHash')->withNoArgs()->andReturn($tableData)->once();
     $expectedInsert = array('name' => 'PHPNW', 'datetime' => '2011-10-08 09:00:00', 'venue' => 'Ramada Hotel', 'description' => 'TEST DESCRIPTION');
     $this->mockedConnection->shouldReceive('insert')->with('\\Phabric\\Entity', $expectedInsert)->once();
     $this->object->setNameTransformations(array('Date' => 'datetime'));
     $this->object->setDefaults(array('description' => 'TEST DESCRIPTION', 'venue' => 'TEST VENUE'));
     $retFn = function ($date) {
         $date = \DateTime::createFromFormat('d/m/Y H:i', $date);
         return $date->format('Y-m-d H:i:s');
     };
     $this->mockedBus->shouldReceive('getDataTransformation')->with('UKTOMYSQLDATE')->once()->andReturn($retFn);
     $this->object->setDataTransformations(array('datetime' => 'UKTOMYSQLDATE'));
     $this->object->insertFromTable($tableNode);
 }