Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
EntryConverterPoolTest.php
Go to the documentation of this file.
1 <?php
8 
12 class EntryConverterPoolTest extends \PHPUnit\Framework\TestCase
13 {
18  protected $imageMock;
19 
24  protected $videoMock;
25 
29  protected $dataObjectMock;
30 
31  protected function setUp()
32  {
33  $this->imageMock =
34  $this->createMock(\Magento\Catalog\Model\Product\Attribute\Backend\Media\ImageEntryConverter::class);
35 
36  $this->imageMock->expects($this->any())->method('getMediaEntryType')->willReturn('image');
37 
38  $this->videoMock =
39  $this->createMock(\Magento\ProductVideo\Model\Product\Attribute\Media\ExternalVideoEntryConverter::class);
40 
41  $this->videoMock->expects($this->any())->method('getMediaEntryType')->willReturn('external-video');
42 
43  $this->dataObjectMock = $this->createMock(\Magento\Framework\DataObject::class);
44  }
45 
47  {
48  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
49 
50  $converterPool = $objectManager->getObject(
51  \Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool::class,
52  [
53  'mediaGalleryEntryConvertersCollection' => [$this->imageMock, $this->videoMock]
54  ]
55  );
56 
57  $result = $converterPool->getConverterByMediaType('image');
58  $this->assertNotNull($result);
59  }
60 
62  {
63  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
64 
65  $converterPool = $objectManager->getObject(
66  \Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool::class,
67  [
68  'mediaGalleryEntryConvertersCollection' => [$this->imageMock, $this->videoMock]
69  ]
70  );
71 
72  $result = $converterPool->getConverterByMediaType('external-video');
73  $this->assertNotNull($result);
74  }
75 
76  public function testConstructException()
77  {
78  $this->expectException('\InvalidArgumentException');
79 
80  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
81 
82  $converterPool = $objectManager->getObject(
83  \Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool::class,
84  [
85  'mediaGalleryEntryConvertersCollection' => [$this->dataObjectMock]
86  ]
87  );
88 
89  $converterPool->getConverterByMediaType('external-video');
90  }
91 
93  {
94  $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
95 
96  $converterPool = $objectManager->getObject(
97  \Magento\Catalog\Model\Product\Attribute\Backend\Media\EntryConverterPool::class,
98  [
99  'mediaGalleryEntryConvertersCollection' => [$this->imageMock, $this->videoMock]
100  ]
101  );
102 
103  $this->expectException(\Magento\Framework\Exception\LocalizedException::class);
104 
105  $converterPool->getConverterByMediaType('something_wrong');
106  }
107 }
$objectManager
Definition: bootstrap.php:17