CacheTest.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Marketplace\Test\Unit\Helper;
  7. use Magento\Framework\Serialize\SerializerInterface;
  8. class CacheTest extends \PHPUnit\Framework\TestCase
  9. {
  10. /**
  11. * @var \Magento\Framework\Config\CacheInterface|\PHPUnit_Framework_MockObject_MockObject
  12. */
  13. private $cache;
  14. /**
  15. * @var SerializerInterface|\PHPUnit_Framework_MockObject_MockObject
  16. */
  17. private $serializer;
  18. /**
  19. * @var \Magento\Marketplace\Helper\Cache
  20. */
  21. private $cacheHelper;
  22. protected function setUp()
  23. {
  24. $this->cache = $this->getMockForAbstractClass(\Magento\Framework\Config\CacheInterface::class);
  25. $this->serializer = $this->getMockForAbstractClass(SerializerInterface::class);
  26. $objectManagerHelper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  27. $this->cacheHelper = $objectManagerHelper->getObject(
  28. \Magento\Marketplace\Helper\Cache::class,
  29. [
  30. 'cache' => $this->cache,
  31. 'serializer' => $this->serializer,
  32. ]
  33. );
  34. }
  35. public function testLoadPartnersFromCache()
  36. {
  37. $partners = ['partner1', 'partner2'];
  38. $serializedPartners = '["partner1", "partner2"]';
  39. $this->cache->expects($this->once())
  40. ->method('load')
  41. ->with('partners')
  42. ->willReturn($serializedPartners);
  43. $this->serializer->expects($this->once())
  44. ->method('unserialize')
  45. ->with($serializedPartners)
  46. ->willReturn($partners);
  47. $this->assertSame($partners, $this->cacheHelper->loadPartnersFromCache());
  48. }
  49. public function testLoadPartnersFromCacheNoCachedData()
  50. {
  51. $this->cache->expects($this->once())
  52. ->method('load')
  53. ->with('partners')
  54. ->willReturn(false);
  55. $this->serializer->expects($this->never())
  56. ->method('unserialize');
  57. $this->assertSame(false, $this->cacheHelper->loadPartnersFromCache());
  58. }
  59. public function testSavePartnersToCache()
  60. {
  61. $partners = ['partner1', 'partner2'];
  62. $serializedPartners = '["partner1", "partner2"]';
  63. $this->serializer->expects($this->once())
  64. ->method('serialize')
  65. ->with($partners)
  66. ->willReturn($serializedPartners);
  67. $this->cache->expects($this->once())
  68. ->method('save')
  69. ->with($serializedPartners);
  70. $this->cacheHelper->savePartnersToCache($partners);
  71. }
  72. }