Пример #1
0
 public function testSelectsByRange()
 {
     $rangeField = 'test_id';
     $tableName = 'test';
     $this->_adapter->expects($this->once())->method('fetchRow')->with($this->_adapter->select()->from($tableName, [new \Zend_Db_Expr('MIN(' . $this->_adapter->quoteIdentifier($rangeField) . ') AS min'), new \Zend_Db_Expr('MAX(' . $this->_adapter->quoteIdentifier($rangeField) . ') AS max')]))->will($this->returnValue(['min' => 1, 'max' => 200]));
     $this->_adapter->expects($this->any())->method('quote')->will($this->returnCallback(function ($values) {
         if (!is_array($values)) {
             $values = [$values];
         }
         foreach ($values as &$value) {
             $value = "'" . $value . "'";
         }
         return implode(',', $values);
     }));
     $expectedSelect = $this->_adapter->select()->from($tableName);
     $result = $this->_adapter->selectsByRange($rangeField, $expectedSelect, 50);
     $this->assertCount(200 / 50, $result);
     $prepareField = $this->_adapter->quoteIdentifier($tableName) . '.' . $this->_adapter->quoteIdentifier($rangeField);
     $this->assertEquals($this->_adapter->select()->from($tableName)->where($prepareField . ' >= ?', 1)->where($prepareField . ' < ?', 51), $result[0]);
     $this->assertEquals($this->_adapter->select()->from($tableName)->where($prepareField . ' >= ?', 51)->where($prepareField . ' < ?', 101), $result[1]);
     $this->assertEquals($this->_adapter->select()->from($tableName)->where($prepareField . ' >= ?', 101)->where($prepareField . ' < ?', 151), $result[2]);
     $this->assertEquals($this->_adapter->select()->from($tableName)->where($prepareField . ' >= ?', 151)->where($prepareField . ' < ?', 201), $result[3]);
 }
Пример #2
0
 /**
  * @test
  * @dataProvider quoteIdentifierDataProvider
  * @param string $input
  * @param string $expected
  */
 public function quoteIdentifier(string $input, string $expected)
 {
     $this->assertSame($expected, $this->connection->quoteIdentifier($input));
 }