CheckmoConfigProviderTest.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\OfflinePayments\Test\Unit\Model;
  7. use Magento\OfflinePayments\Model\CheckmoConfigProvider;
  8. use Magento\OfflinePayments\Model\Checkmo;
  9. use Magento\Framework\Escaper;
  10. class CheckmoConfigProviderTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /** @var CheckmoConfigProvider */
  13. protected $model;
  14. /** @var Checkmo|\PHPUnit_Framework_MockObject_MockObject */
  15. protected $methodMock;
  16. /** @var Escaper|\PHPUnit_Framework_MockObject_MockObject */
  17. protected $escaperMock;
  18. protected function setUp()
  19. {
  20. $this->methodMock = $this->createMock(\Magento\OfflinePayments\Model\Checkmo::class);
  21. $paymentHelperMock = $this->createMock(\Magento\Payment\Helper\Data::class);
  22. $paymentHelperMock->expects($this->once())
  23. ->method('getMethodInstance')
  24. ->with(Checkmo::PAYMENT_METHOD_CHECKMO_CODE)
  25. ->willReturn($this->methodMock);
  26. $this->escaperMock = $this->createMock(\Magento\Framework\Escaper::class);
  27. $this->escaperMock->expects($this->any())
  28. ->method('escapeHtml')
  29. ->willReturnArgument(0);
  30. $this->model = new CheckmoConfigProvider(
  31. $paymentHelperMock,
  32. $this->escaperMock
  33. );
  34. }
  35. /**
  36. * @param bool $isAvailable
  37. * @param string $mailingAddress
  38. * @param string $payableTo
  39. * @param array $result
  40. * @dataProvider dataProviderGetConfig
  41. */
  42. public function testGetConfig($isAvailable, $mailingAddress, $payableTo, $result)
  43. {
  44. $this->methodMock->expects($this->once())
  45. ->method('isAvailable')
  46. ->willReturn($isAvailable);
  47. $this->methodMock->expects($this->any())
  48. ->method('getMailingAddress')
  49. ->willReturn($mailingAddress);
  50. $this->methodMock->expects($this->any())
  51. ->method('getPayableTo')
  52. ->willReturn($payableTo);
  53. $this->assertEquals($result, $this->model->getConfig());
  54. }
  55. /**
  56. * @return array
  57. */
  58. public function dataProviderGetConfig()
  59. {
  60. $checkmoCode = Checkmo::PAYMENT_METHOD_CHECKMO_CODE;
  61. return [
  62. [false, '', '', []],
  63. [true, '', '', ['payment' => [$checkmoCode => ['mailingAddress' => '', 'payableTo' => '']]]],
  64. [true, 'address', '', ['payment' => [$checkmoCode => ['mailingAddress' => 'address', 'payableTo' => '']]]],
  65. [true, '', 'to', ['payment' => [$checkmoCode => ['mailingAddress' => '', 'payableTo' => 'to']]]],
  66. [true, 'addr', 'to', ['payment' => [$checkmoCode => ['mailingAddress' => 'addr', 'payableTo' => 'to']]]],
  67. [false, 'addr', 'to', []],
  68. ];
  69. }
  70. }