function TransactionManagerTest::testStateAfterTransactionRollbackFailure

Checks TransactionManager after transaction rollback failure.

File

core/tests/Drupal/Tests/Core/Database/TransactionManagerTest.php, line 238

Class

TransactionManagerTest
Tests transactions.

Namespace

Drupal\Tests\Core\Database

Code

public function testStateAfterTransactionRollbackFailure() : void {
  try {
    $tx = $this->connection
      ->startTransaction();
    $this->connection
      ->transactionManager()->success = FALSE;
    $tx->rollback();
  } catch (TransactionException) {
    // Continue.
  }
  $this->assertSame(0, $this->connection
    ->transactionManager()
    ->stackDepth());
  $this->assertFalse($this->connection
    ->transactionManager()
    ->has('drupal_transaction'));
  $this->assertFalse($this->connection
    ->inTransaction());
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.