Пример #1
0
 /**
  * @covers Veles\DataBase\Adapters\PdoAdapter::rows
  *
  * @expectedException \Veles\DataBase\Exceptions\DbException
  */
 public function testRowsException()
 {
     $exception_msg = 'SQLSTATE[22P02]: Invalid text representation: 7 ERROR: invalid input syntax for integer';
     $resource = $this->getMockBuilder('\\PDO')->disableOriginalConstructor()->setMethods(['prepare'])->getMock();
     $resource->expects($this->once())->method('prepare')->will($this->throwException(new \PDOException($exception_msg)));
     $conn = $this->getMockBuilder('\\Veles\\DataBase\\Connections\\PdoConnection')->setConstructorArgs(['master'])->setMethods(['getResource'])->getMock();
     $conn->expects($this->once())->method('getResource')->willReturn($resource);
     $pool = $this->getMockBuilder('\\Veles\\DataBase\\ConnectionPools\\ConnectionPool')->setMethods(['getConnection'])->getMock();
     $pool->expects($this->once())->method('getConnection')->willReturn($conn);
     $this->object->setPool($pool);
     $sql = 'SELECT * FROM users';
     $params = [300, 'string-value'];
     $types = 'is';
     $this->object->rows($sql, $params, $types);
 }