112 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
namespace Magento\TestModuleUps\Model;
 | 
						|
 | 
						|
use Magento\Framework\HTTP\AsyncClientInterface;
 | 
						|
use Magento\Framework\HTTP\ClientFactory;
 | 
						|
use Magento\Framework\Xml\Security;
 | 
						|
use Magento\Shipping\Model\Rate\Result\ProxyDeferredFactory;
 | 
						|
use Magento\Ups\Helper\Config;
 | 
						|
 | 
						|
/**
 | 
						|
 * Mock UPS shipping implementation
 | 
						|
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
 | 
						|
 */
 | 
						|
class Carrier extends \Magento\Ups\Model\Carrier
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @var MockResponseBodyLoader
 | 
						|
     */
 | 
						|
    private $mockResponseLoader;
 | 
						|
 | 
						|
    /**
 | 
						|
     * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
 | 
						|
     * @param \Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory $rateErrorFactory
 | 
						|
     * @param \Psr\Log\LoggerInterface $logger
 | 
						|
     * @param Security $xmlSecurity
 | 
						|
     * @param \Magento\Shipping\Model\Simplexml\ElementFactory $xmlElFactory
 | 
						|
     * @param \Magento\Shipping\Model\Rate\ResultFactory $rateFactory
 | 
						|
     * @param \Magento\Quote\Model\Quote\Address\RateResult\MethodFactory $rateMethodFactory
 | 
						|
     * @param \Magento\Shipping\Model\Tracking\ResultFactory $trackFactory
 | 
						|
     * @param \Magento\Shipping\Model\Tracking\Result\ErrorFactory $trackErrorFactory
 | 
						|
     * @param \Magento\Shipping\Model\Tracking\Result\StatusFactory $trackStatusFactory
 | 
						|
     * @param \Magento\Directory\Model\RegionFactory $regionFactory
 | 
						|
     * @param \Magento\Directory\Model\CountryFactory $countryFactory
 | 
						|
     * @param \Magento\Directory\Model\CurrencyFactory $currencyFactory
 | 
						|
     * @param \Magento\Directory\Helper\Data $directoryData
 | 
						|
     * @param \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry
 | 
						|
     * @param \Magento\Framework\Locale\FormatInterface $localeFormat
 | 
						|
     * @param Config $configHelper
 | 
						|
     * @param ClientFactory $httpClientFactory
 | 
						|
     * @param array $data
 | 
						|
     * @param AsyncClientInterface $asyncHttpClient
 | 
						|
     * @param ProxyDeferredFactory $proxyDeferredFactory
 | 
						|
     * @param MockResponseBodyLoader $mockResponseLoader
 | 
						|
     *
 | 
						|
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
 | 
						|
     */
 | 
						|
    public function __construct(
 | 
						|
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
 | 
						|
        \Magento\Quote\Model\Quote\Address\RateResult\ErrorFactory $rateErrorFactory,
 | 
						|
        \Psr\Log\LoggerInterface $logger,
 | 
						|
        Security $xmlSecurity,
 | 
						|
        \Magento\Shipping\Model\Simplexml\ElementFactory $xmlElFactory,
 | 
						|
        \Magento\Shipping\Model\Rate\ResultFactory $rateFactory,
 | 
						|
        \Magento\Quote\Model\Quote\Address\RateResult\MethodFactory $rateMethodFactory,
 | 
						|
        \Magento\Shipping\Model\Tracking\ResultFactory $trackFactory,
 | 
						|
        \Magento\Shipping\Model\Tracking\Result\ErrorFactory $trackErrorFactory,
 | 
						|
        \Magento\Shipping\Model\Tracking\Result\StatusFactory $trackStatusFactory,
 | 
						|
        \Magento\Directory\Model\RegionFactory $regionFactory,
 | 
						|
        \Magento\Directory\Model\CountryFactory $countryFactory,
 | 
						|
        \Magento\Directory\Model\CurrencyFactory $currencyFactory,
 | 
						|
        \Magento\Directory\Helper\Data $directoryData,
 | 
						|
        \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry,
 | 
						|
        \Magento\Framework\Locale\FormatInterface $localeFormat,
 | 
						|
        Config $configHelper,
 | 
						|
        ClientFactory $httpClientFactory,
 | 
						|
        AsyncClientInterface $asyncHttpClient,
 | 
						|
        ProxyDeferredFactory $proxyDeferredFactory,
 | 
						|
        MockResponseBodyLoader $mockResponseLoader,
 | 
						|
        array $data = []
 | 
						|
    ) {
 | 
						|
        parent::__construct(
 | 
						|
            $scopeConfig,
 | 
						|
            $rateErrorFactory,
 | 
						|
            $logger,
 | 
						|
            $xmlSecurity,
 | 
						|
            $xmlElFactory,
 | 
						|
            $rateFactory,
 | 
						|
            $rateMethodFactory,
 | 
						|
            $trackFactory,
 | 
						|
            $trackErrorFactory,
 | 
						|
            $trackStatusFactory,
 | 
						|
            $regionFactory,
 | 
						|
            $countryFactory,
 | 
						|
            $currencyFactory,
 | 
						|
            $directoryData,
 | 
						|
            $stockRegistry,
 | 
						|
            $localeFormat,
 | 
						|
            $configHelper,
 | 
						|
            $httpClientFactory,
 | 
						|
            $data,
 | 
						|
            $asyncHttpClient,
 | 
						|
            $proxyDeferredFactory
 | 
						|
        );
 | 
						|
        $this->mockResponseLoader = $mockResponseLoader;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @inheritdoc
 | 
						|
     */
 | 
						|
    protected function _getCgiQuotes()
 | 
						|
    {
 | 
						|
        $responseBody = $this->mockResponseLoader->loadForRequest($this->_rawRequest->getDestCountry());
 | 
						|
        return $this->_parseCgiResponse($responseBody);
 | 
						|
    }
 | 
						|
}
 |