73 lines
2.3 KiB
PHP
Executable File
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'));
|
|
}
|
|
}
|