Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
StrategyTest.php
Go to the documentation of this file.
1 <?php
7 
12 class StrategyTest extends \PHPUnit\Framework\TestCase
13 {
19  protected $_model;
20 
26  protected $_resourceMock;
27 
31  protected function setUp()
32  {
33  $this->_resourceMock = $this->createMock(\Magento\Framework\App\ResourceConnection::class);
34  $this->_model = new \Magento\Framework\Indexer\Table\Strategy(
35  $this->_resourceMock
36  );
37  }
38 
44  public function testUseIdxTable()
45  {
46  $this->assertEquals(false, $this->_model->getUseIdxTable());
47  $this->_model->setUseIdxTable(false);
48  $this->assertEquals(false, $this->_model->getUseIdxTable());
49  $this->_model->setUseIdxTable(true);
50  $this->assertEquals(true, $this->_model->getUseIdxTable());
51  $this->_model->setUseIdxTable();
52  $this->assertEquals(false, $this->_model->getUseIdxTable());
53  }
54 
60  public function testPrepareTableName()
61  {
62  $this->assertEquals('test_tmp', $this->_model->prepareTableName('test'));
63  $this->_model->setUseIdxTable(true);
64  $this->assertEquals('test_idx', $this->_model->prepareTableName('test'));
65  $this->_model->setUseIdxTable(false);
66  $this->assertEquals('test_tmp', $this->_model->prepareTableName('test'));
67  }
68 
74  public function testGetTableName()
75  {
76  $prefix = 'pre_';
77  $this->_resourceMock->expects($this->any())->method('getTableName')->will(
78  $this->returnCallback(
79  function ($tableName) use ($prefix) {
80  return $prefix . $tableName;
81  }
82  )
83  );
84  $this->assertEquals('pre_test_tmp', $this->_model->getTableName('test'));
85  $this->_model->setUseIdxTable(true);
86  $this->assertEquals('pre_test_idx', $this->_model->getTableName('test'));
87  }
88 }
$tableName
Definition: trigger.php:13
$prefix
Definition: name.phtml:25