Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CustomConditionProviderTest.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
12 
13 class CustomConditionProviderTest extends \PHPUnit\Framework\TestCase
14 {
15  private $customConditionProcessorBuilder;
16  private $customConditionMock;
17 
18  protected function setUp()
19  {
20  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
21 
22  $this->customConditionMock = $this->getMockBuilder(CustomConditionInterface::class)
23  ->disableOriginalConstructor()
24  ->getMockForAbstractClass();
25 
26  $this->customConditionProcessorBuilder = $objectManagerHelper
27  ->getObject(
28  CustomConditionProvider::class,
29  [
30  'customConditionProcessors' => [
31  'my-valid-field' => $this->customConditionMock,
32  ]
33  ]
34  );
35  }
36 
38  {
39  $testField = 'my-valid-field';
40 
41  $this->assertTrue(
42  $this->customConditionProcessorBuilder->hasProcessorForField($testField)
43  );
44  }
45 
47  {
48  $testField = 'unknown-field';
49 
50  $this->assertFalse(
51  $this->customConditionProcessorBuilder->hasProcessorForField($testField)
52  );
53  }
54 
56  {
57  $testField = 'my-valid-field';
58 
59  $this->assertEquals(
60  $this->customConditionMock,
61  $this->customConditionProcessorBuilder->getProcessorByField($testField)
62  );
63  }
64 
70  {
71  $testField = 'unknown-field';
72  $this->customConditionProcessorBuilder->getProcessorByField($testField);
73  }
74 
80  {
81  $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
82  $this->customConditionProcessorBuilder = $objectManagerHelper
83  ->getObject(
84  CustomConditionProvider::class,
85  [
86  'customConditionProcessors' => [
87  'my-valid-field' => $this->customConditionMock,
88  'my-invalid-field' => 'olo-lo'
89  ]
90  ]
91  );
92  }
93 }