Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TransactionInterfaceTest.php
Go to the documentation of this file.
1 <?php
15 
16 class TransactionInterfaceTest extends \PHPUnit\Framework\TestCase
17 {
23  {
24  $connectionMock = $this->_getConnectionMock($class);
25  $uniqid = uniqid();
26  $connectionMock->expects($this->once())->method('beginTransaction')->will($this->returnValue($uniqid));
27  $this->assertSame(0, $connectionMock->getTransactionLevel());
28  $this->assertEquals($uniqid, $connectionMock->beginTransparentTransaction());
29  $this->assertSame(0, $connectionMock->getTransactionLevel());
30  }
31 
37  {
38  $connectionMock = $this->_getConnectionMock($class);
39  $uniqid = uniqid();
40  $connectionMock->expects($this->once())->method('rollback')->will($this->returnValue($uniqid));
41  $connectionMock->beginTransparentTransaction();
42  $this->assertEquals($uniqid, $connectionMock->rollbackTransparentTransaction());
43  $this->assertSame(0, $connectionMock->getTransactionLevel());
44  }
45 
51  {
52  $connectionMock = $this->_getConnectionMock($class);
53  $uniqid = uniqid();
54  $connectionMock->expects($this->once())->method('commit')->will($this->returnValue($uniqid));
55  $connectionMock->beginTransparentTransaction();
56  $this->assertEquals($uniqid, $connectionMock->commitTransparentTransaction());
57  $this->assertSame(0, $connectionMock->getTransactionLevel());
58  }
59 
64  {
65  $result = [];
66  $path = '/../../../../../../../Magento/TestFramework/Db/Adapter';
67  foreach (glob(realpath(__DIR__ . $path) . '/*.php') as $file) {
68  $suffix = basename($file, '.php');
69  if (false === strpos($suffix, 'Interface')) {
70  $result[] = ["Magento\\TestFramework\\Db\\Adapter\\{$suffix}"];
71  }
72  }
73  return $result;
74  }
75 
82  protected function _getConnectionMock($class)
83  {
84  $connection = $this->createPartialMock($class, ['beginTransaction', 'rollback', 'commit']);
85  $this->assertInstanceOf(\Magento\TestFramework\Db\Adapter\TransactionInterface::class, $connection);
86  return $connection;
87  }
88 }
$suffix
Definition: name.phtml:27
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60
$_option $_optionId $class
Definition: date.phtml:13
$connection
Definition: bulk.php:13