magento2-docker/dev/tests/integration/testsuite/Magento/Tax/Model/CalculationTest.php

85 lines
2.7 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Tax\Model;
use Magento\Customer\Api\AddressRepositoryInterface;
use Magento\Customer\Api\GroupRepositoryInterface;
use Magento\Customer\Api\CustomerRepositoryInterface;
/**
* Class CalculationTest
*
* @magentoDataFixture Magento/Customer/_files/customer.php
* @magentoDataFixture Magento/Customer/_files/customer_address.php
*/
class CalculationTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\TestFramework\ObjectManager
*/
protected $_objectManager;
/**
* @var CustomerRepositoryInterface
*/
protected $customerRepository;
/**
* @var AddressRepositoryInterface
*/
protected $addressRepository;
/**
* @var GroupRepositoryInterface
*/
protected $groupRepository;
const FIXTURE_CUSTOMER_ID = 1;
const FIXTURE_ADDRESS_ID = 1;
/**
* @var \Magento\Tax\Model\Calculation
*/
protected $_model;
protected function setUp(): void
{
/** @var $objectManager \Magento\TestFramework\ObjectManager */
$this->_objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
$this->_model = $this->_objectManager->create(\Magento\Tax\Model\Calculation::class);
$this->customerRepository = $this->_objectManager->create(
\Magento\Customer\Api\CustomerRepositoryInterface::class
);
$this->addressRepository = $this->_objectManager->create(
\Magento\Customer\Api\AddressRepositoryInterface::class
);
$this->groupRepository = $this->_objectManager->create(\Magento\Customer\Api\GroupRepositoryInterface::class);
}
public function testDefaultCustomerTaxClass()
{
$defaultCustomerTaxClass = 3;
$this->assertEquals($defaultCustomerTaxClass, $this->_model->getDefaultCustomerTaxClass(null));
}
public function testGetDefaultRateRequest()
{
$customerDataSet = $this->customerRepository->getById(self::FIXTURE_CUSTOMER_ID);
$address = $this->addressRepository->getById(self::FIXTURE_ADDRESS_ID);
$rateRequest = $this->_model->getRateRequest(null, null, null, null, $customerDataSet->getId());
$this->assertNotNull($rateRequest);
$this->assertEquals($address->getCountryId(), $rateRequest->getCountryId());
$this->assertEquals($address->getRegion()->getRegionId(), $rateRequest->getRegionId());
$this->assertEquals($address->getPostcode(), $rateRequest->getPostcode());
$customerTaxClassId = $this->groupRepository->getById($customerDataSet->getGroupId())->getTaxClassId();
$this->assertEquals($customerTaxClassId, $rateRequest->getCustomerClassId());
}
}