DisableMessageTest.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /**
  3. * @copyright Vertex. All rights reserved. https://www.vertexinc.com/
  4. * @author Mediotype https://www.mediotype.com/
  5. */
  6. namespace Vertex\Tax\Test\Unit\Model\Config;
  7. use Vertex\Tax\Model\Config\DisableMessage;
  8. use Vertex\Tax\Test\Unit\TestCase;
  9. class DisableMessageTest extends TestCase
  10. {
  11. /**
  12. * Test get message results
  13. *
  14. * @param string $message
  15. * @param array $data
  16. * @dataProvider getMessageDataProvider
  17. */
  18. public function testGetMessage($message, $data)
  19. {
  20. list ($affectedScopes, $scopeId, $showAffectedStores, $expected) = $data;
  21. /** @var DisableMessage $disableMessage */
  22. $disableMessage = $this->getObject(DisableMessage::class);
  23. $this->setInaccessibleProperty($disableMessage, 'affectedScopes', $affectedScopes);
  24. $result = $disableMessage->getMessage($scopeId, $showAffectedStores);
  25. if ($expected === '') {
  26. $this->assertEmpty($result);
  27. } else {
  28. $this->assertContains($expected, $result, $message);
  29. }
  30. }
  31. /**
  32. * Data Provider for test @see DisableMessageTest::testGetMessage()
  33. *
  34. * @return array
  35. */
  36. public function getMessageDataProvider()
  37. {
  38. return [
  39. [
  40. 'test if specific scope is disable',
  41. [
  42. [
  43. 0 => 'Admin (Admin)',
  44. 1 => 'Main Website (Default Store View)',
  45. 2 => 'newWebsite (testview)',
  46. ],
  47. 2,
  48. false,
  49. 'disabled',
  50. ],
  51. ],
  52. [
  53. 'get message for a not affect scope',
  54. [
  55. [2 => 'newWebsite (testview)'],
  56. 1,
  57. false,
  58. '',
  59. ],
  60. ],
  61. [
  62. 'get message with all stores affected',
  63. [
  64. [
  65. 0 => 'Admin (Admin)',
  66. 1 => 'Main Website (Default Store View)',
  67. 2 => 'newWebsite (testview)',
  68. ],
  69. 1,
  70. true,
  71. 'newWebsite (testview)',
  72. ],
  73. ],
  74. ];
  75. }
  76. }