Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
TaxRatesFixtureTest.php
Go to the documentation of this file.
1 <?php
8 
9 use \Magento\Setup\Fixtures\TaxRatesFixture;
10 
11 class TaxRatesFixtureTest extends \PHPUnit\Framework\TestCase
12 {
13 
17  private $fixtureModelMock;
18 
22  private $model;
23 
24  public function setUp()
25  {
26  $this->fixtureModelMock = $this->createMock(\Magento\Setup\Fixtures\FixtureModel::class);
27 
28  $this->model = new TaxRatesFixture($this->fixtureModelMock);
29  }
30 
31  public function testExecute()
32  {
33  $rateMock = $this->createPartialMock(\Magento\Tax\Model\Calculation\Rate::class, ['setId', 'delete']);
34 
35  $collectionMock =
36  $this->createMock(\Magento\Tax\Model\ResourceModel\Calculation\Rate\Collection::class);
37  $collectionMock->expects($this->once())
38  ->method('getAllIds')
39  ->willReturn([1]);
40 
41  $csvImportHandlerMock = $this->createMock(\Magento\TaxImportExport\Model\Rate\CsvImportHandler::class);
42 
43  $valueMap = [
44  [\Magento\Tax\Model\Calculation\Rate::class, $rateMock],
45  [\Magento\Tax\Model\ResourceModel\Calculation\Rate\Collection::class, $collectionMock]
46  ];
47 
48  $objectManagerMock = $this->createMock(\Magento\Framework\ObjectManager\ObjectManager::class);
49  $objectManagerMock->expects($this->exactly(2))
50  ->method('get')
51  ->will($this->returnValueMap($valueMap));
52  $objectManagerMock->expects($this->once())
53  ->method('create')
54  ->willReturn($csvImportHandlerMock);
55 
56  $this->fixtureModelMock
57  ->expects($this->once())
58  ->method('getValue')
59  ->willReturn('taxRates.file');
60  $this->fixtureModelMock
61  ->expects($this->exactly(3))
62  ->method('getObjectManager')
63  ->willReturn($objectManagerMock);
64 
65  $this->model->execute();
66  }
67 
68  public function testNoFixtureConfigValue()
69  {
70  $csvImportHandlerMock = $this->createMock(\Magento\TaxImportExport\Model\Rate\CsvImportHandler::class);
71  $csvImportHandlerMock->expects($this->never())->method('importFromCsvFile');
72 
73  $objectManagerMock = $this->createMock(\Magento\Framework\ObjectManager\ObjectManager::class);
74  $objectManagerMock->expects($this->never())
75  ->method('create')
76  ->willReturn($csvImportHandlerMock);
77 
78  $this->fixtureModelMock
79  ->expects($this->never())
80  ->method('getObjectManager')
81  ->willReturn($objectManagerMock);
82  $this->fixtureModelMock
83  ->expects($this->once())
84  ->method('getValue')
85  ->willReturn(false);
86 
87  $this->model->execute();
88  }
89 
90  public function testGetActionTitle()
91  {
92  $this->assertSame('Generating tax rates', $this->model->getActionTitle());
93  }
94 
95  public function testIntroduceParamLabels()
96  {
97  $this->assertSame([], $this->model->introduceParamLabels());
98  }
99 }