AgreementsValidatorTest.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CheckoutAgreements\Test\Unit\Model;
  7. use Magento\CheckoutAgreements\Model\AgreementsValidator;
  8. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  9. class AgreementsValidatorTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /** @var AgreementsValidator */
  12. protected $object;
  13. /** @var ObjectManagerHelper */
  14. protected $objectManagerHelper;
  15. protected function setUp()
  16. {
  17. $this->objectManagerHelper = new ObjectManagerHelper($this);
  18. }
  19. /**
  20. * @return array
  21. */
  22. public static function isValidDataProvider()
  23. {
  24. return [
  25. [[], true],
  26. [[1], true]
  27. ];
  28. }
  29. /**
  30. * @dataProvider isValidDataProvider
  31. * @param $data
  32. * @param $result
  33. */
  34. public function testIsValid($data, $result)
  35. {
  36. $this->object = $this->objectManagerHelper->getObject(
  37. \Magento\CheckoutAgreements\Model\AgreementsValidator::class,
  38. []
  39. );
  40. $this->assertEquals($result, $this->object->isValid($data));
  41. }
  42. /**
  43. * @return array
  44. */
  45. public static function notIsValidDataProvider()
  46. {
  47. return [
  48. [[1, 3, '4'], true],
  49. [[1, '4', 3], true],
  50. [[1, 3, 4], true],
  51. [[1, 3, 4, 5], true],
  52. [[], false],
  53. [[1], false],
  54. ];
  55. }
  56. /**
  57. * @dataProvider notIsValidDataProvider
  58. * @param $data
  59. * @param $result
  60. */
  61. public function testNotIsValid($data, $result)
  62. {
  63. $provider = $this->getMockForAbstractClass(
  64. \Magento\CheckoutAgreements\Model\AgreementsProviderInterface::class
  65. );
  66. $provider->expects($this->once())
  67. ->method('getRequiredAgreementIds')
  68. ->will($this->returnValue([1, 3, '4']));
  69. $this->object = $this->objectManagerHelper->getObject(
  70. \Magento\CheckoutAgreements\Model\AgreementsValidator::class,
  71. ['list' => [$provider]]
  72. );
  73. $this->assertEquals($result, $this->object->isValid($data));
  74. }
  75. }