Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ImageContentValidatorTest.php
Go to the documentation of this file.
1 <?php
8 
12 class ImageContentValidatorTest extends \PHPUnit\Framework\TestCase
13 {
18 
22  protected $objectManager;
23 
24  protected function setUp()
25  {
26  $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
27  $this->imageContentValidator = $this->objectManager->getObject(
28  \Magento\Framework\Api\ImageContentValidator::class
29  );
30  }
31 
36  public function testIsValidEmptyContent()
37  {
38  $imageContent = $this->getMockBuilder(\Magento\Framework\Api\Data\ImageContentInterface::class)
39  ->disableOriginalConstructor()
40  ->getMock();
41  $imageContent->expects($this->any())
42  ->method('getBase64EncodedData')
43  ->willReturn('');
44 
45  $this->imageContentValidator->isValid($imageContent);
46  }
47 
52  public function testIsValidEmptyProperties()
53  {
54  $imageContent = $this->getMockBuilder(\Magento\Framework\Api\Data\ImageContentInterface::class)
55  ->disableOriginalConstructor()
56  ->getMock();
57  $imageContent->expects($this->any())
58  ->method('getBase64EncodedData')
59  ->willReturn('testImageData');
60 
61  $this->imageContentValidator->isValid($imageContent);
62  }
63 
68  public function testIsValidInvalidMIMEType()
69  {
70  $pathToImageFile = __DIR__ . '/_files/image.jpg';
71  $encodedData = @base64_encode(file_get_contents($pathToImageFile));
72 
73  $imageContent = $this->getMockBuilder(\Magento\Framework\Api\Data\ImageContentInterface::class)
74  ->disableOriginalConstructor()
75  ->getMock();
76  $imageContent->expects($this->any())
77  ->method('getBase64EncodedData')
78  ->willReturn($encodedData);
79  $imageContent->expects($this->any())
80  ->method('getType')
81  ->willReturn('invalidType');
82 
83  $this->imageContentValidator->isValid($imageContent);
84  }
85 
90  public function testIsValidInvalidName()
91  {
92  $pathToImageFile = __DIR__ . '/_files/image.jpg';
93  $encodedData = @base64_encode(file_get_contents($pathToImageFile));
94 
95  $imageContent = $this->getMockBuilder(\Magento\Framework\Api\Data\ImageContentInterface::class)
96  ->disableOriginalConstructor()
97  ->getMock();
98  $imageContent->expects($this->any())
99  ->method('getBase64EncodedData')
100  ->willReturn($encodedData);
101  $imageContent->expects($this->any())
102  ->method('getName')
103  ->willReturn('invalid:Name');
104  $imageContent->expects($this->any())
105  ->method('getType')
106  ->willReturn('image/jpeg');
107 
108  $this->imageContentValidator->isValid($imageContent);
109  }
110 
111  public function testIsValid()
112  {
113  $pathToImageFile = __DIR__ . '/_files/image.jpg';
114  $encodedData = @base64_encode(file_get_contents($pathToImageFile));
115 
116  $imageContent = $this->getMockBuilder(\Magento\Framework\Api\Data\ImageContentInterface::class)
117  ->disableOriginalConstructor()
118  ->getMock();
119  $imageContent->expects($this->any())
120  ->method('getBase64EncodedData')
121  ->willReturn($encodedData);
122  $imageContent->expects($this->any())
123  ->method('getName')
124  ->willReturn('validName');
125  $imageContent->expects($this->any())
126  ->method('getType')
127  ->willReturn('image/jpeg');
128 
129  $this->assertTrue($this->imageContentValidator->isValid($imageContent));
130  }
131 }
defined('TESTS_BP')||define('TESTS_BP' __DIR__
Definition: _bootstrap.php:60