Пример #1
0
 /**
  * @covers DataBase::update
  * @covers Database::select
  * @covers Database::selectOne
  */
 public function testUpdate()
 {
     $r0 = $this->db->selectOne('name', 'test', array('id' => 1));
     $this->assertEquals('value 1', $r0['name']);
     $this->assertEquals(1, $this->db->update('test', array('name' => 'Other test'), array('id' => 1)));
     $r1 = $this->db->selectOne('name', 'test', array('id' => 1));
     $this->assertEquals('Other test', $r1['name']);
     $this->assertEquals(3, $this->db->update('test', array('name' => 'Other test'), Where::one('id', '>', 0)));
     $result = $this->db->select('*', 'test');
     foreach ($result as $id => $row) {
         $this->assertEquals('Other test', $row['name']);
     }
     $this->assertEquals(0, $this->db->update('test', array('name' => 'Other test'), array('id' => 0)));
     $this->assertFalse(LoggerApp::hasError(), LoggerApp::getLastError());
     $this->assertEquals(0, $this->db->update('testinvalid', array('xyz' => 1), array('id' => 1)));
     $this->assertTrue(LoggerApp::hasError(), 'Não gerou o erro esperado');
     //Update without where
     $this->assertEquals(0, $this->db->update('test', array('name' => 'a'), array()));
 }
Пример #2
0
 public function testSelect()
 {
     $r1 = $this->object->select('*', 'teste', Where::one('a', '>', 0));
     $this->assertTrue($r1['status'], $r1['message']);
     $this->assertEquals('SELECT * FROM teste WHERE a > ?', trim($r1['sql']));
     $this->assertEquals(array(0), $r1['values']);
     $r2 = $this->object->select(array('a', 'b'), 'teste', array('id' => 2), array('limit' => 10, 'orderBy' => 'id'));
     $this->assertTrue($r2['status'], $r2['message']);
     $this->assertEquals('SELECT a,b FROM teste WHERE id = ? ORDER BY id ASC LIMIT ?', trim($r2['sql']));
     $this->assertEquals(array(2, 10), $r2['values']);
     $r3 = $this->object->select('*', 'teste', array('id' => 2), array('groupBy' => array('id', 'teste'), 'having' => array('teste' => 1)));
     $this->assertTrue($r3['status'], $r3['message']);
     $this->assertEquals('SELECT * FROM teste WHERE id = ? GROUP BY id,teste HAVING teste = ?', trim($r3['sql']));
     $this->assertEquals(array(2, 1), $r3['values']);
     $r4 = $this->object->select(array('a', 'b'), 'teste', null, array('limit' => 10, 'offset' => 11));
     $this->assertTrue($r4['status'], $r4['message']);
     $this->assertEquals('SELECT a,b FROM teste LIMIT ? OFFSET ?', trim($r4['sql']));
     $this->assertEquals(array(10, 11), $r4['values']);
     $r5 = $this->object->select('a, b, c', 'xyz', 'WHERE a > ? AND b = ?', array(3, 5));
     $this->assertTrue($r5['status'], $r5['message']);
     $this->assertEquals('SELECT a, b, c FROM xyz WHERE a > ? AND b = ?', trim($r5['sql']));
     $this->assertEquals(array(3, 5), $r5['values']);
     $extra = array('orderBy' => array('id' => 'desc'), 'limit' => 10, 'offset' => 0);
     $r6 = $this->object->select('*', 'table1', array('ativo' => true), $extra);
     $this->assertTrue($r6['status'], $r6['message']);
     $this->assertEquals('SELECT * FROM table1 WHERE ativo = ? ORDER BY id DESC LIMIT ?', trim($r6['sql']));
     $this->assertEquals(array(true, 10), $r6['values']);
 }