/** * @test */ public function runInTransactionShouldInvokeBeginAndCommitOnSuccess() { // given Db::getInstance()->enableTransactions(); $dbHandle = Mock::mock(); $db = new Db(false); $db->_dbHandle = $dbHandle; //when $result = $db->runInTransaction(array(new Sample(), 'callMethod')); //then $this->assertEquals('OK', $result); Mock::verify($dbHandle)->beginTransaction(); Mock::verify($dbHandle)->commit(); Mock::verify($dbHandle)->neverReceived()->rollbackTransaction(); }