RequestTest.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Paypal\Model\Hostedpro;
  7. use Magento\Paypal\Model\Hostedpro\Request;
  8. use Magento\TestFramework\Helper\Bootstrap;
  9. use Magento\Sales\Model\Order;
  10. /**
  11. * Class RequestTest
  12. * @package Magento\Paypal\Model
  13. */
  14. class RequestTest extends \PHPUnit\Framework\TestCase
  15. {
  16. /**
  17. * @var \Magento\Paypal\Model\Hostedpro\Request
  18. */
  19. private $model;
  20. /**
  21. * @var \Magento\Framework\ObjectManagerInterface
  22. */
  23. private $objectManager;
  24. protected function setUp()
  25. {
  26. $this->objectManager = Bootstrap::getObjectManager();
  27. $this->model = $this->objectManager->create(Request::class);
  28. }
  29. /**
  30. * @covers \Magento\Paypal\Model\Hostedpro\Request::setOrder()
  31. * @magentoDataFixture Magento/Paypal/_files/order_hostedpro.php
  32. */
  33. public function testSetOrder()
  34. {
  35. $incrementId = '100000001';
  36. /** @var \Magento\Sales\Model\Order $order */
  37. $order = $this->objectManager->create(Order::class);
  38. $order->loadByIncrementId($incrementId);
  39. $this->model->setOrder($order);
  40. $addressData = require(__DIR__ . '/../../_files/address_data.php');
  41. static::assertEquals($incrementId, $this->model->getInvoice());
  42. $this->assertAddress($addressData, 'billing');
  43. $this->assertAddress($addressData);
  44. }
  45. /**
  46. * Assert address details
  47. *
  48. * @param array $address
  49. * @param string $type
  50. */
  51. protected function assertAddress(array $address, $type = '')
  52. {
  53. $type = !empty($type) ? $type . '_' : '';
  54. static::assertEquals($address['firstname'], $this->model->getData($type.'first_name'));
  55. static::assertEquals($address['lastname'], $this->model->getData($type.'last_name'));
  56. static::assertEquals($address['city'], $this->model->getData($type.'city'));
  57. static::assertEquals($address['region'], $this->model->getData($type.'state'));
  58. static::assertEquals($address['country_id'], $this->model->getData($type.'country'));
  59. static::assertEquals($address['postcode'], $this->model->getData($type.'zip'));
  60. static::assertEquals($address['street'], $this->model->getData($type.'address1'));
  61. }
  62. }