/** * Nested transaction calls * * @param DboTestSource $db * @return void */ protected function _runTransactions($db) { $db->begin(); $db->begin(); $db->commit(); $db->begin(); $db->rollback(); $db->commit(); }
/** * Tests that transaction commands are logged * * @return void **/ public function testTransactionLogging() { $conn = $this->getMock('MockPDO'); $db = new DboTestSource(); $db->setConnection($conn); $conn->expects($this->exactly(2))->method('beginTransaction')->will($this->returnValue(true)); $conn->expects($this->once())->method('commit')->will($this->returnValue(true)); $conn->expects($this->once())->method('rollback')->will($this->returnValue(true)); $db->begin(); $log = $db->getLog(); $expected = array('query' => 'BEGIN', 'params' => array(), 'affected' => '', 'numRows' => '', 'took' => ''); $this->assertEquals($expected, $log['log'][0]); $db->commit(); $expected = array('query' => 'COMMIT', 'params' => array(), 'affected' => '', 'numRows' => '', 'took' => ''); $log = $db->getLog(); $this->assertEquals($expected, $log['log'][0]); $db->begin(); $expected = array('query' => 'BEGIN', 'params' => array(), 'affected' => '', 'numRows' => '', 'took' => ''); $log = $db->getLog(); $this->assertEquals($expected, $log['log'][0]); $db->rollback(); $expected = array('query' => 'ROLLBACK', 'params' => array(), 'affected' => '', 'numRows' => '', 'took' => ''); $log = $db->getLog(); $this->assertEquals($expected, $log['log'][0]); }