ImageUtilsTest.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\tests\Unit\Service\File\Utils;
  3. use App\Entity\Core\File;
  4. use App\Service\Utils\FileUtils;
  5. use App\Tests\Unit\TestToolsTrait;
  6. use Liip\ImagineBundle\Imagine\Data\DataManager;
  7. use Liip\ImagineBundle\Imagine\Filter\FilterManager;
  8. use PHPUnit\Framework\MockObject\MockObject;
  9. use PHPUnit\Framework\TestCase;
  10. use Psr\Log\LoggerInterface;
  11. class FileUtilsTest extends TestCase
  12. {
  13. use TestToolsTrait;
  14. private MockObject|DataManager $dataManager;
  15. private MockObject|FilterManager $filterManager;
  16. private MockObject|LoggerInterface $logger;
  17. public function setUp(): void
  18. {
  19. $this->dataManager = $this->getMockBuilder(DataManager::class)->disableOriginalConstructor()->getMock();
  20. $this->filterManager = $this->getMockBuilder(FilterManager::class)->disableOriginalConstructor()->getMock();
  21. $this->logger = $this->getMockBuilder(LoggerInterface::class)->disableOriginalConstructor()->getMock();
  22. }
  23. public function getFileUtilsMockFor(string $methodName): FileUtils|MockObject
  24. {
  25. return $this->getMockBuilder(FileUtils::class)
  26. ->setConstructorArgs([$this->dataManager, $this->filterManager, $this->logger])
  27. ->setMethodsExcept([$methodName])
  28. ->getMock();
  29. }
  30. /**
  31. * @return void
  32. *
  33. *@see FileUtils::isImage()
  34. */
  35. public function testIsImage()
  36. {
  37. $file = $this->getMockBuilder(File::class)->getMock();
  38. $file->method('getMimeType')->willReturn('image/jpeg');
  39. $FileUtils = $this->getFileUtilsMockFor('isImage');
  40. $this->assertTrue($FileUtils->isImage($file));
  41. }
  42. }