magento2-docker/dev/tests/integration/testsuite/Magento/Paypal/Model/Hostedpro/RequestTest.php

73 lines
2.3 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Paypal\Model\Hostedpro;
use Magento\Paypal\Model\Hostedpro\Request;
use Magento\TestFramework\Helper\Bootstrap;
use Magento\Sales\Model\Order;
/**
* Class RequestTest
* @package Magento\Paypal\Model
*/
class RequestTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Paypal\Model\Hostedpro\Request
*/
private $model;
/**
* @var \Magento\Framework\ObjectManagerInterface
*/
private $objectManager;
protected function setUp(): void
{
$this->objectManager = Bootstrap::getObjectManager();
$this->model = $this->objectManager->create(Request::class);
}
/**
* @covers \Magento\Paypal\Model\Hostedpro\Request::setOrder()
* @magentoDataFixture Magento/Paypal/_files/order_hostedpro.php
*/
public function testSetOrder()
{
$incrementId = '100000001';
/** @var \Magento\Sales\Model\Order $order */
$order = $this->objectManager->create(Order::class);
$order->loadByIncrementId($incrementId);
$this->model->setOrder($order);
$addressData = require(__DIR__ . '/../../_files/address_data.php');
static::assertEquals($incrementId, $this->model->getInvoice());
$this->assertAddress($addressData, 'billing');
$this->assertAddress($addressData);
}
/**
* Assert address details
*
* @param array $address
* @param string $type
*/
protected function assertAddress(array $address, $type = '')
{
$type = !empty($type) ? $type . '_' : '';
static::assertEquals($address['firstname'], $this->model->getData($type.'first_name'));
static::assertEquals($address['lastname'], $this->model->getData($type.'last_name'));
static::assertEquals($address['city'], $this->model->getData($type.'city'));
static::assertEquals($address['region'], $this->model->getData($type.'state'));
static::assertEquals($address['country_id'], $this->model->getData($type.'country'));
static::assertEquals($address['postcode'], $this->model->getData($type.'zip'));
static::assertEquals($address['street'], $this->model->getData($type.'address1'));
}
}