CcTest.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Payment\Test\Unit\Model\Method;
  7. use Magento\Framework\DataObject;
  8. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
  9. use Magento\Payment\Model\Method\Cc;
  10. use Magento\Quote\Api\Data\PaymentInterface;
  11. use Magento\Quote\Model\Quote\Payment;
  12. class CcTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @var Cc
  16. */
  17. private $ccModel;
  18. public function setUp()
  19. {
  20. $objectManager = new ObjectManager($this);
  21. $this->ccModel = $objectManager->getObject(Cc::class);
  22. }
  23. public function testAssignData()
  24. {
  25. $additionalData = [
  26. 'cc_type' => 'VI',
  27. 'cc_owner' => 'Bruce',
  28. 'cc_number' => '41111111111111',
  29. 'cc_cid' => '42',
  30. 'cc_exp_month' => '02',
  31. 'cc_exp_year' => '30',
  32. 'cc_ss_issue' => '9',
  33. 'cc_ss_start_month' => '01',
  34. 'cc_ss_start_year' => '30'
  35. ];
  36. $inputData = new DataObject(
  37. [
  38. PaymentInterface::KEY_ADDITIONAL_DATA => $additionalData
  39. ]
  40. );
  41. $payment = $this->getMockBuilder(Payment::class)
  42. ->disableOriginalConstructor()
  43. ->getMock();
  44. $expectedData = [
  45. 'cc_type' => 'VI',
  46. 'cc_owner' => 'Bruce',
  47. 'cc_last_4' => '1111',
  48. 'cc_number' => '41111111111111',
  49. 'cc_cid' => '42',
  50. 'cc_exp_month' => '02',
  51. 'cc_exp_year' => '30',
  52. 'cc_ss_issue' => '9',
  53. 'cc_ss_start_month' => '01',
  54. 'cc_ss_start_year' => '30'
  55. ];
  56. $payment->expects(static::once())
  57. ->method('addData')
  58. ->with(
  59. $expectedData
  60. );
  61. $this->ccModel->setInfoInstance($payment);
  62. $this->ccModel->assignData($inputData);
  63. }
  64. }