BackendTemplateTest.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Test class for Magento\Email\Model\BackendTemplate.
  8. */
  9. namespace Magento\Email\Test\Unit\Model;
  10. use Magento\Email\Model\BackendTemplate;
  11. use Magento\Framework\ObjectManagerInterface;
  12. class BackendTemplateTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * Backend template mock
  16. *
  17. * @var BackendTemplate
  18. */
  19. protected $model;
  20. /**
  21. * @var \Magento\Framework\App\Config\ScopeConfigInterface|\PHPUnit_Framework_MockObject_MockObject
  22. */
  23. protected $scopeConfigMock;
  24. /**
  25. * @var \Magento\Config\Model\Config\Structure|\PHPUnit_Framework_MockObject_MockObject
  26. */
  27. protected $structureMock;
  28. /**
  29. * @var \Magento\Email\Model\ResourceModel\Template|\PHPUnit_Framework_MockObject_MockObject
  30. */
  31. protected $resourceModelMock;
  32. /**
  33. * @var \Magento\Framework\App\ObjectManager
  34. */
  35. protected $objectManagerBackup;
  36. /**
  37. * @var \Magento\Framework\Serialize\Serializer\Json|\PHPUnit_Framework_MockObject_MockObject
  38. */
  39. private $serializerMock;
  40. protected function setUp()
  41. {
  42. $helper = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  43. $this->scopeConfigMock = $this->createMock(\Magento\Framework\App\Config\ScopeConfigInterface::class);
  44. $this->scopeConfigMock->expects($this->any())->method('getValue')->willReturn(['test' => 1]);
  45. $this->structureMock = $this->createMock(\Magento\Config\Model\Config\Structure::class);
  46. $this->structureMock->expects($this->any())->method('getFieldPathsByAttribute')->willReturn(['path' => 'test']);
  47. $this->resourceModelMock = $this->createMock(\Magento\Email\Model\ResourceModel\Template::class);
  48. $this->resourceModelMock->expects($this->any())
  49. ->method('getSystemConfigByPathsAndTemplateId')
  50. ->willReturn(['test_config' => 2015]);
  51. /** @var ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject $objectManagerMock*/
  52. $objectManagerMock = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  53. $objectManagerMock->expects($this->any())
  54. ->method('get')
  55. ->with(\Magento\Email\Model\ResourceModel\Template::class)
  56. ->will($this->returnValue($this->resourceModelMock));
  57. \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock);
  58. $this->serializerMock = $this->getMockBuilder(\Magento\Framework\Serialize\Serializer\Json::class)->getMock();
  59. $this->model = $helper->getObject(
  60. \Magento\Email\Model\BackendTemplate::class,
  61. [
  62. 'scopeConfig' => $this->scopeConfigMock,
  63. 'structure' => $this->structureMock,
  64. 'serializer' => $this->serializerMock
  65. ]
  66. );
  67. }
  68. protected function tearDown()
  69. {
  70. parent::tearDown();
  71. /** @var ObjectManagerInterface|\PHPUnit_Framework_MockObject_MockObject $objectManagerMock*/
  72. $objectManagerMock = $this->createMock(\Magento\Framework\ObjectManagerInterface::class);
  73. \Magento\Framework\App\ObjectManager::setInstance($objectManagerMock);
  74. }
  75. public function testGetSystemConfigPathsWhereCurrentlyUsedNoId()
  76. {
  77. $this->assertEquals([], $this->model->getSystemConfigPathsWhereCurrentlyUsed());
  78. }
  79. public function testGetSystemConfigPathsWhereCurrentlyUsedValidId()
  80. {
  81. $this->model->setId(1);
  82. $this->assertEquals(['test_config' => 2015], $this->model->getSystemConfigPathsWhereCurrentlyUsed());
  83. }
  84. }