Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ForUpdateRendererTest.php
Go to the documentation of this file.
1 <?php
8 
10 
14 class ForUpdateRendererTest extends \PHPUnit\Framework\TestCase
15 {
19  protected $model;
20 
24  protected $selectMock;
25 
31  protected function setUp()
32  {
33  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
34  $this->selectMock = $this->createPartialMock(\Magento\Framework\DB\Select::class, ['getPart']);
35  $this->model = $objectManager->getObject(\Magento\Framework\DB\Select\ForUpdateRenderer::class);
36  }
37 
38  public function testRenderNoPart()
39  {
40  $sql = 'SELECT';
41  $this->selectMock->expects($this->once())
42  ->method('getPart')
43  ->with(Select::FOR_UPDATE)
44  ->willReturn(false);
45  $this->assertEquals($sql, $this->model->render($this->selectMock, $sql));
46  }
47 
48  public function testRender()
49  {
50  $sql = 'SELECT';
51  $expectedResult = $sql . ' ' . Select::SQL_FOR_UPDATE;
52  $this->selectMock->expects($this->once())
53  ->method('getPart')
54  ->with(Select::FOR_UPDATE)
55  ->willReturn(true);
56  $this->assertEquals($expectedResult, $this->model->render($this->selectMock, $sql));
57  }
58 }
const FOR_UPDATE
Definition: Select.php:57
$objectManager
Definition: bootstrap.php:17
const SQL_FOR_UPDATE
Definition: Select.php:76