Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GeneratorResolverTest.php
Go to the documentation of this file.
1 <?php
8 
11 
12 class GeneratorResolverTest extends \PHPUnit\Framework\TestCase
13 {
15  private $resolver;
16 
18  private $defaultGenerator;
19 
21  private $datetimeGenerator;
22 
24  private $rangeGenerator;
25 
26  protected function setUp()
27  {
28  $this->defaultGenerator = $this->getMockBuilder(GeneratorInterface::class)
29  ->setMethods([])
30  ->getMockForAbstractClass();
31 
32  $this->datetimeGenerator = $this->getMockBuilder(GeneratorInterface::class)
33  ->setMethods([])
34  ->getMockForAbstractClass();
35 
36  $this->rangeGenerator = $this->getMockBuilder(GeneratorInterface::class)
37  ->setMethods([])
38  ->getMockForAbstractClass();
39 
40  $invalidTypeGenerator = $this->getMockBuilder(\stdClass::class)
41  ->setMethods([]);
42 
43  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
44  $this->resolver = $objectManager->getObject(
45  GeneratorResolver::class,
46  [
47  'defaultGenerator' => $this->defaultGenerator,
48  'generators' => [
49  'datetime' => $this->datetimeGenerator,
50  'range' => $this->datetimeGenerator,
51  'invalid_type' => $invalidTypeGenerator,
52  ],
53  ]
54  );
55  }
56 
57  public function testGetSpecificGenerator()
58  {
59  $this->assertEquals($this->rangeGenerator, $this->resolver->getGeneratorForType('range'));
60  $this->assertEquals($this->datetimeGenerator, $this->resolver->getGeneratorForType('datetime'));
61  }
62 
63  public function testGetFallbackGenerator()
64  {
65  $this->assertEquals($this->defaultGenerator, $this->resolver->getGeneratorForType('unknown_type'));
66  }
67 
71  public function testGetInvalidGeneratorType()
72  {
73  $this->resolver->getGeneratorForType('invalid_type');
74  }
75 }
$objectManager
Definition: bootstrap.php:17