/** * Test if rollback rolls-back multi-level transaction. */ public function testRollbackMultipleLevels() { $this->assertFalse($this->connection->inTransaction()); // First level $this->connection->beginWork(); $this->assertTrue($this->connection->inTransaction()); // Second level $this->connection->beginWork(); $this->assertTrue($this->connection->inTransaction()); // Rollback everything $this->connection->rollback(); $this->assertFalse($this->connection->inTransaction()); }