ClassModelRegistryTest.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Tax\Test\Unit\Model;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  8. /**
  9. * Test for TaxRuleRegistry
  10. */
  11. class ClassModelRegistryTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @var \Magento\Tax\Model\ClassModelRegistry
  15. */
  16. private $taxRuleRegistry;
  17. /**
  18. * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Tax\Model\ClassModelFactory
  19. */
  20. private $classModelFactoryMock;
  21. /**
  22. * @var \PHPUnit_Framework_MockObject_MockObject|\Magento\Tax\Model\ClassModel
  23. */
  24. private $classModelMock;
  25. const CLASS_MODEL = 1;
  26. protected function setUp()
  27. {
  28. $objectManager = new ObjectManager($this);
  29. $this->classModelFactoryMock = $this->getMockBuilder(\Magento\Tax\Model\ClassModelFactory::class)
  30. ->setMethods(['create'])
  31. ->disableOriginalConstructor()
  32. ->getMock();
  33. $this->taxRuleRegistry = $objectManager->getObject(
  34. \Magento\Tax\Model\ClassModelRegistry::class,
  35. ['taxClassModelFactory' => $this->classModelFactoryMock]
  36. );
  37. $this->classModelMock = $this->getMockBuilder(\Magento\Tax\Model\ClassModel::class)
  38. ->disableOriginalConstructor()
  39. ->getMock();
  40. $this->classModelFactoryMock->expects($this->any())
  41. ->method('create')
  42. ->will($this->returnValue($this->classModelMock));
  43. }
  44. /**
  45. * @expectedException \Magento\Framework\Exception\NoSuchEntityException
  46. */
  47. public function testUpdateTaxClassNotExistingEntity()
  48. {
  49. $taxClassId = 1;
  50. $this->classModelMock
  51. ->expects($this->once())
  52. ->method('getId')
  53. ->will($this->returnValue(null));
  54. $this->classModelMock->expects($this->once())
  55. ->method('load')
  56. ->with($taxClassId)
  57. ->will($this->returnValue($this->classModelMock));
  58. $this->taxRuleRegistry->retrieve($taxClassId);
  59. }
  60. public function testGetTaxClass()
  61. {
  62. $taxClassId = 1;
  63. $this->classModelMock
  64. ->expects($this->exactly(2))
  65. ->method('getId')
  66. ->will($this->returnValue($taxClassId));
  67. $this->classModelMock->expects($this->once())
  68. ->method('load')
  69. ->with($taxClassId)
  70. ->will($this->returnValue($this->classModelMock));
  71. $this->assertEquals($this->classModelMock, $this->taxRuleRegistry->retrieve($taxClassId));
  72. }
  73. }