TaxAdjustmentTest.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Weee\Test\Unit\Pricing\Render;
  7. class TaxAdjustmentTest extends \PHPUnit\Framework\TestCase
  8. {
  9. /**
  10. * @var \Magento\Weee\Pricing\Render\TaxAdjustment
  11. */
  12. protected $model;
  13. /**
  14. * Weee helper mock
  15. *
  16. * @var \Magento\Weee\Helper\Data | \PHPUnit_Framework_MockObject_MockObject
  17. */
  18. protected $weeeHelperMock;
  19. /**
  20. * @var \Magento\Framework\TestFramework\Unit\Helper\ObjectManager
  21. */
  22. protected $objectManager;
  23. /**
  24. * Init mocks and model
  25. */
  26. protected function setUp()
  27. {
  28. $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
  29. $this->weeeHelperMock = $this->createPartialMock(
  30. \Magento\Weee\Helper\Data::class,
  31. ['typeOfDisplay', 'isTaxable']
  32. );
  33. $this->model = $this->objectManager->getObject(
  34. \Magento\Weee\Pricing\Render\TaxAdjustment::class,
  35. [
  36. 'weeeHelper' => $this->weeeHelperMock,
  37. ]
  38. );
  39. }
  40. /**
  41. * Test for method getDefaultExclusions
  42. *
  43. * @dataProvider getDefaultExclusionsDataProvider
  44. */
  45. public function testGetDefaultExclusions($weeeIsExcluded)
  46. {
  47. //setup
  48. $this->weeeHelperMock->expects($this->atLeastOnce())->method('typeOfDisplay')->willReturn($weeeIsExcluded);
  49. //test
  50. $defaultExclusions = $this->model->getDefaultExclusions();
  51. $this->assertNotEmpty($defaultExclusions, 'Expected to have at least one default exclusion: tax');
  52. $taxCode = $this->model->getAdjustmentCode(); // since Weee's TaxAdjustment is a subclass of Tax's Adjustment
  53. $this->assertContains($taxCode, $defaultExclusions);
  54. $weeeCode = \Magento\Weee\Pricing\Adjustment::ADJUSTMENT_CODE;
  55. if ($weeeIsExcluded) {
  56. $this->assertContains($weeeCode, $defaultExclusions);
  57. } else {
  58. $this->assertNotContains($weeeCode, $defaultExclusions);
  59. }
  60. }
  61. /**
  62. * Data provider for testGetDefaultExclusions()
  63. * @return array
  64. */
  65. public function getDefaultExclusionsDataProvider()
  66. {
  67. return [
  68. 'weee part of exclusions' => [true],
  69. 'weee not part of exclusions' => [false],
  70. ];
  71. }
  72. }