54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
<?php
 | 
						|
/**
 | 
						|
 * Copyright © Magento, Inc. All rights reserved.
 | 
						|
 * See COPYING.txt for license details.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Magento\Tax\Model;
 | 
						|
 | 
						|
use Magento\TestFramework\Helper\Bootstrap;
 | 
						|
 | 
						|
class TaxRuleCollectionTest extends \PHPUnit\Framework\TestCase
 | 
						|
{
 | 
						|
    /**
 | 
						|
     * @magentoAppIsolation enabled
 | 
						|
     * @magentoDataFixture Magento/Tax/_files/tax_classes.php
 | 
						|
     */
 | 
						|
    public function testCreateTaxRuleCollectionItem()
 | 
						|
    {
 | 
						|
        /** @var \Magento\Tax\Model\ResourceModel\Calculation\Rule\Collection $collection */
 | 
						|
        $collection = Bootstrap::getObjectManager()->get(
 | 
						|
            \Magento\Tax\Model\ResourceModel\Calculation\Rule\Collection::class
 | 
						|
        );
 | 
						|
        $dbTaxRulesQty = $collection->count();
 | 
						|
 | 
						|
        /** @var \Magento\Tax\Model\Calculation\Rule $firstTaxRuleFixture */
 | 
						|
        $firstTaxRuleFixture = Bootstrap::getObjectManager()->get(\Magento\Framework\Registry::class)
 | 
						|
            ->registry('_fixture/Magento_Tax_Model_Calculation_Rule');
 | 
						|
        $expectedFirstTaxRuleId = $firstTaxRuleFixture->getId();
 | 
						|
 | 
						|
        if (($dbTaxRulesQty == 0) || ($collection->getFirstItem()->getId() != $expectedFirstTaxRuleId)) {
 | 
						|
            $this->fail("Preconditions failed.");
 | 
						|
        }
 | 
						|
        /** @var \Magento\Tax\Model\TaxRuleCollection $taxRulesCollection */
 | 
						|
        $taxRulesCollection = Bootstrap::getObjectManager()
 | 
						|
            ->create(\Magento\Tax\Model\TaxRuleCollection::class);
 | 
						|
        $collectionTaxRulesQty = $taxRulesCollection->count();
 | 
						|
        $this->assertEquals($dbTaxRulesQty, $collectionTaxRulesQty, 'Tax rules quantity is invalid.');
 | 
						|
        $taxRule = $taxRulesCollection->getFirstItem()->getData();
 | 
						|
        $expectedTaxRuleData = [
 | 
						|
            'tax_calculation_rule_id' => $expectedFirstTaxRuleId,
 | 
						|
            'code' => 'Test Rule',
 | 
						|
            'priority' => '0',
 | 
						|
            'position' => '0',
 | 
						|
            'calculate_subtotal' => '0',
 | 
						|
            'customer_tax_classes' => $firstTaxRuleFixture->getCustomerTaxClassIds(),
 | 
						|
            'product_tax_classes' => $firstTaxRuleFixture->getProductTaxClassIds(),
 | 
						|
            'tax_rates' => $firstTaxRuleFixture->getTaxRateIds(),
 | 
						|
            'tax_rates_codes' => $firstTaxRuleFixture->getTaxRatesCodes()
 | 
						|
        ];
 | 
						|
 | 
						|
        $this->assertEquals($expectedTaxRuleData, $taxRule, 'Tax rule data is invalid.');
 | 
						|
    }
 | 
						|
}
 |