コード例 #1
0
ファイル: DbTest.php プロジェクト: pradeep-wagento/magento2
 public function testFetchItem()
 {
     $data = [1 => 'test'];
     $counter = 0;
     $statementMock = $this->getMock('Zend_Db_Statement_Pdo', ['fetch'], [], '', false);
     $statementMock->expects($this->exactly(2))->method('fetch')->will($this->returnCallback(function () use(&$counter, $data) {
         return ++$counter % 2 ? [] : $data;
     }));
     $adapterMock = $this->getMock('Magento\\Framework\\DB\\Adapter\\Pdo\\Mysql', ['select', 'query'], [], '', false);
     $selectMock = $this->getMock('Magento\\Framework\\DB\\Select', [], ['adapter' => $adapterMock]);
     $adapterMock->expects($this->once())->method('query')->with($selectMock, $this->anything())->will($this->returnValue($statementMock));
     $adapterMock->expects($this->once())->method('select')->will($this->returnValue($selectMock));
     $this->collection->setConnection($adapterMock);
     $this->assertFalse($this->collection->fetchItem());
     $objectMock = $this->getMock('Magento\\Framework\\DataObject', ['setData'], []);
     $objectMock->expects($this->once())->method('setData')->with($data);
     $this->entityFactoryMock->expects($this->once())->method('create')->with('Magento\\Framework\\DataObject')->will($this->returnValue($objectMock));
     $this->assertEquals($objectMock, $this->collection->fetchItem());
 }