ApiLegacyStorageTest.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace App\Tests\Unit\Service\File\Storage;
  3. use App\Entity\Core\File;
  4. use App\Service\ApiLegacy\ApiLegacyRequestService;
  5. use App\Service\File\Storage\ApiLegacyStorage;
  6. use App\Service\Utils\UrlBuilder;
  7. use Liip\ImagineBundle\Imagine\Data\DataManager;
  8. use PHPUnit\Framework\TestCase;
  9. class ApiLegacyStorageTest extends TestCase
  10. {
  11. public function testExists(): void
  12. {
  13. $apiLegacyRequestService = $this->getMockBuilder(ApiLegacyRequestService::class)
  14. ->disableOriginalConstructor()
  15. ->getMock();
  16. $apiLegacyStorage = $this
  17. ->getMockBuilder(ApiLegacyStorage::class)
  18. ->disableOriginalConstructor()
  19. ->setMethodsExcept(['exists'])
  20. ->getMock();
  21. $this->expectException(\RuntimeException::class);
  22. $this->expectExceptionMessage('not implemented error');
  23. $file = $this->getMockBuilder(File::class)->getMock();
  24. $apiLegacyStorage->exists($file);
  25. }
  26. public function testRead(): void
  27. {
  28. $apiLegacyRequestService = $this->getMockBuilder(ApiLegacyRequestService::class)
  29. ->disableOriginalConstructor()
  30. ->getMock();
  31. $dataManager = $this->getMockBuilder(DataManager::class)->disableOriginalConstructor()->getMock();
  32. $urlBuilder = $this->getMockBuilder(UrlBuilder::class)->disableOriginalConstructor()->getMock();
  33. $apiLegacyStorage = $this
  34. ->getMockBuilder(ApiLegacyStorage::class)
  35. ->setConstructorArgs([$apiLegacyRequestService, $dataManager, $urlBuilder, "url"])
  36. ->setMethodsExcept(['read'])
  37. ->getMock();
  38. $file = $this->getMockBuilder(File::class)->getMock();
  39. $file->method('getId')->willReturn(123);
  40. $apiLegacyRequestService
  41. ->expects(self::once())
  42. ->method('getContent')
  43. ->with('_internal/secure/files/123')
  44. ->willReturn('xyz');
  45. $result = $apiLegacyStorage->read($file);
  46. $this->assertEquals('xyz', $result);
  47. }
  48. }