/** * test for method afterPrepareAdjustmentConfig */ public function testAfterPrepareAdjustmentConfig() { $this->productMock->expects($this->once())->method('getTaxClassId')->will($this->returnValue('tax-class-id')); $this->calculationMock->expects($this->exactly(2))->method('getRateRequest')->will($this->returnValue($this->rateRequestMock)); $this->calculationMock->expects($this->exactly(2))->method('getRate')->with($this->equalTo($this->rateRequestMock))->will($this->returnValue(99.09999999999999)); $this->productMock->expects($this->once())->method('getPriceInfo')->will($this->returnValue($this->priceInfoMock)); $this->priceInfoMock->expects($this->once())->method('getAdjustment')->with($this->equalTo(\Magento\Tax\Pricing\Adjustment::ADJUSTMENT_CODE))->will($this->returnValue($this->adjustmentMock)); $this->adjustmentMock->expects($this->once())->method('isIncludedInBasePrice')->will($this->returnValue(true)); $this->taxHelperMock->expects($this->once())->method('displayPriceIncludingTax')->will($this->returnValue(true)); $this->taxHelperMock->expects($this->once())->method('displayBothPrices')->will($this->returnValue(true)); $expected = ['product' => $this->productMock, 'defaultTax' => 99.09999999999999, 'currentTax' => 99.09999999999999, 'customerId' => 1, 'includeTax' => true, 'showIncludeTax' => true, 'showBothPrices' => true]; $this->assertEquals($expected, $this->plugin->afterPrepareAdjustmentConfig($this->attributePriceMock, ['product' => $this->productMock, 'defaultTax' => 0, 'currentTax' => 0, 'customerId' => 1])); }
/** * @dataProvider dataProviderGetWeeeAttributesForBundle * @param int $priceIncludesTax * @param bool $priceDisplay * @param array $expectedAmount */ public function testGetWeeeAttributesForBundle($priceDisplay, $priceIncludesTax, $expectedAmount) { $prodId1 = 1; $prodId2 = 2; $fptCode1 = 'fpt' . $prodId1; $fptCode2 = 'fpt' . $prodId2; $weeeObject1 = new \Magento\Framework\DataObject(['code' => $fptCode1, 'amount' => '15', 'amount_excl_tax' => '15.0000', 'tax_amount' => '1']); $weeeObject2 = new \Magento\Framework\DataObject(['code' => $fptCode2, 'amount' => '10', 'amount_excl_tax' => '10.0000', 'tax_amount' => '5']); $expectedObject1 = new \Magento\Framework\DataObject(['code' => $fptCode1, 'amount' => $expectedAmount[0], 'amount_excl_tax' => '15.0000', 'tax_amount' => '1']); $expectedObject2 = new \Magento\Framework\DataObject(['code' => $fptCode2, 'amount' => $expectedAmount[1], 'amount_excl_tax' => '10.0000', 'tax_amount' => '5']); $expectedArray = [$prodId1 => [$fptCode1 => $expectedObject1], $prodId2 => [$fptCode2 => $expectedObject2]]; $this->weeeTax->expects($this->any())->method('getProductWeeeAttributes')->will($this->returnValue([$weeeObject1, $weeeObject2])); $this->taxData->expects($this->any())->method('getPriceDisplayType')->willReturn($priceDisplay); $this->taxData->expects($this->any())->method('priceIncludesTax')->willReturn($priceIncludesTax); $productSimple = $this->getMock('\\Magento\\Catalog\\Model\\Product\\Type\\Simple', ['getId'], [], '', false); $productSimple->expects($this->at(0))->method('getId')->will($this->returnValue($prodId1)); $productSimple->expects($this->at(1))->method('getId')->will($this->returnValue($prodId2)); $productInstance = $this->getMock('\\Magento\\Bundle\\Model\\Product\\Type', [], [], '', false); $productInstance->expects($this->any())->method('getSelectionsCollection')->will($this->returnValue([$productSimple])); $store = $this->getMock('\\Magento\\Store\\Model\\Store', [], [], '', false); /** @var \Magento\Catalog\Model\Product $product */ $product = $this->getMock('\\Magento\\Bundle\\Model\\Product', ['getTypeInstance', 'getStoreId', 'getStore', 'getTypeId'], [], '', false); $product->expects($this->any())->method('getTypeInstance')->will($this->returnValue($productInstance)); $product->expects($this->any())->method('getStoreId')->will($this->returnValue(1)); $product->expects($this->any())->method('getStore')->will($this->returnValue($store)); $product->expects($this->any())->method('getTypeId')->will($this->returnValue('bundle')); $registry = $this->getMock('Magento\\Framework\\Registry', [], [], '', false); $registry->expects($this->any())->method('registry')->with('current_product')->will($this->returnValue($product)); $result = $this->helperData->getWeeeAttributesForBundle($product); $this->assertEquals($expectedArray, $result); }
public function testAfterAddressSave() { $this->moduleManagerMock->expects($this->once())->method('isEnabled')->with('Magento_PageCache')->willReturn(true); $this->cacheConfigMock->expects($this->once())->method('isEnabled')->willReturn(true); $this->taxHelperMock->expects($this->any())->method('isCatalogPriceDisplayAffectedByTax')->willReturn(true); $address = $this->objectManager->getObject('Magento\\Customer\\Model\\Address'); $address->setIsDefaultShipping(true); $address->setIsDefaultBilling(true); $address->setIsPrimaryBilling(true); $address->setIsPrimaryShipping(true); $address->setCountryId(1); $address->setData('postcode', 11111); $this->customerSessionMock->expects($this->once())->method('setDefaultTaxBillingAddress')->with(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->customerSessionMock->expects($this->once())->method('setDefaultTaxShippingAddress')->with(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->observerMock->expects($this->once())->method('getCustomerAddress')->willReturn($address); $this->session->afterAddressSave($this->observerMock); }
public function testGetIncExcTaxLabel() { $flag = true; $text = "Incl. Tax"; $expected = " (Incl. Tax)"; $this->taxHelper->expects($this->once())->method('getIncExcText')->with($flag)->will($this->returnValue($text)); $this->assertEquals($expected, $this->totalsObj->getIncExcTaxLabel($flag)); }
/** * @param bool $inclTax */ private function _prepareTestGetShippingPrice($inclTax) { $rate = $this->getMock('Magento\\Sales\\Model\\Quote\\Address\\Rate', ['__wakeup'], [], '', false); $rate->setPrice(self::SHIPPING_PRICE); $this->shippingAddress->setShippingMethod(self::SHIPPING_METHOD); $this->shippingAddress->expects($this->once())->method('getShippingRateByCode')->with(self::SHIPPING_METHOD)->will($this->returnValue($rate)); $this->taxHelper->expects($this->once())->method('getShippingPrice')->with(self::SHIPPING_PRICE, $inclTax ? $this->isTrue() : $this->isFalse(), $this->shippingAddress)->will($this->returnValue(self::SHIPPING_PRICE_WITH_TAX)); $this->store->expects($this->once())->method('formatPrice')->with(self::SHIPPING_PRICE_WITH_TAX)->will($this->returnValue(self::SHIPPING_PRICE_FORMATTED)); }
public function testAroundDispatch() { $this->moduleManagerMock->expects($this->any())->method('isEnabled')->with('Magento_PageCache')->willReturn(true); $this->cacheConfigMock->expects($this->any())->method('isEnabled')->willReturn(true); $this->taxHelperMock->expects($this->any())->method('isCatalogPriceDisplayAffectedByTax')->willReturn(true); $this->customerSessionMock->expects($this->once())->method('getDefaultTaxBillingAddress')->willReturn(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->customerSessionMock->expects($this->once())->method('getDefaultTaxShippingAddress')->willReturn(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->customerSessionMock->expects($this->once())->method('getCustomerTaxClassId')->willReturn(1); $this->taxCalculationMock->expects($this->once())->method('getTaxRates')->with(['country_id' => 1, 'region_id' => null, 'postcode' => 11111], ['country_id' => 1, 'region_id' => null, 'postcode' => 11111], 1)->willReturn([]); $this->httpContextMock->expects($this->once())->method('setValue')->with('tax_rates', [], 0); $action = $this->objectManager->getObject('Magento\\Framework\\App\\Action\\Action'); $request = $this->getMock('\\Magento\\Framework\\App\\Request\\Http', ['getActionName'], [], '', false); $expectedResult = 'expectedResult'; $proceed = function ($request) use($expectedResult) { return $expectedResult; }; $this->contextPlugin->aroundDispatch($action, $proceed, $request); }
/** * Test displayBothPrices * * @param string $zone * @param string $methodName * @dataProvider testDisplayBothPricesDataProvider */ public function testDisplayBothPrices($zone, $methodName) { $storeId = 1; $flag = true; $itemMock = $this->getItemMockWithStoreId($storeId); $this->renderer->setItem($itemMock); $this->renderer->setZone($zone); $this->taxHelper->expects($this->once())->method($methodName)->with($storeId)->will($this->returnValue($flag)); $this->assertEquals($flag, $this->renderer->displayBothPrices()); }
/** * test Execute * @dataProvider getPriceConfigurationProvider * @param array $testArray * @param array $expectedArray * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ public function testExecute($testArray, $expectedArray) { $configObj = new \Magento\Framework\DataObject(['config' => $testArray]); $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this); $className = '\\Magento\\Framework\\Registry'; $this->registry = $this->getMock($className, [], [], '', false); $className = '\\Magento\\Tax\\Helper\\Data'; $this->taxData = $this->getMock($className, [], [], '', false); $observerObject = $this->getMock('Magento\\Framework\\Event\\Observer', [], [], '', false); $observerObject->expects($this->any())->method('getData')->with('configObj')->will($this->returnValue($configObj)); $baseAmount = $this->getMock('Magento\\Framework\\Pricing\\Amount\\Base', ['getBaseAmount', 'getAdjustmentAmount', 'hasAdjustment'], [], '', false); $baseAmount->expects($this->any())->method('hasAdjustment')->will($this->returnValue(true)); $baseAmount->expects($this->any())->method('getBaseAmount')->will($this->returnValue(33.5)); $baseAmount->expects($this->any())->method('getAdjustmentAmount')->will($this->returnValue(1.5)); $priceInfo = $this->getMock('Magento\\Framework\\Pricing\\Priceinfo\\Base', ['getPrice'], [], '', false); $basePrice = $this->getMock('Magento\\Catalog\\Price\\BasePrice', ['getAmount'], [], '', false); $basePrice->expects($this->any())->method('getAmount')->will($this->returnValue($baseAmount)); $priceInfo->expects($this->any())->method('getPrice')->will($this->returnValue($basePrice)); $prod1 = $this->getMock('Magento\\Catalog\\Model\\Product', ['getId', 'getPriceInfo'], [], '', false); $prod2 = $this->getMock('Magento\\Catalog\\Model\\Product', [], [], '', false); $prod1->expects($this->any())->method('getId')->will($this->returnValue(1)); $prod1->expects($this->any())->method('getPriceInfo')->will($this->returnValue($priceInfo)); $optionCollection = $this->getMock('Magento\\Bundle\\Model\\ResourceModel\\Selection\\Collection', ['getItems'], [], '', false); $optionCollection->expects($this->any())->method('getItems')->will($this->returnValue([$prod1, $prod2])); $productInstance = $this->getMock('Magento\\Catalog\\Model\\Product\\Type', ['setStoreFilter', 'getSelectionsCollection', 'getOptionsIds'], [], '', false); $product = $this->getMock('\\Magento\\Bundle\\Model\\Product\\Type', ['getTypeInstance', 'getTypeId', 'getStoreId', 'getSelectionsCollection'], [], '', false); $product->expects($this->any())->method('getTypeInstance')->will($this->returnValue($productInstance)); $product->expects($this->any())->method('getTypeId')->will($this->returnValue('bundle')); $product->expects($this->any())->method('getStoreId')->will($this->returnValue(null)); $productInstance->expects($this->any())->method('getSelectionsCollection')->will($this->returnValue($optionCollection)); $productInstance->expects($this->any())->method('getOptionsIds')->will($this->returnValue(true)); $this->registry->expects($this->any())->method('registry')->with('current_product')->will($this->returnValue($product)); $this->taxData->expects($this->any())->method('displayPriceIncludingTax')->will($this->returnValue(true)); $objectManager = new ObjectManager($this); $this->model = $objectManager->getObject('Magento\\Tax\\Observer\\GetPriceConfigurationObserver', ['taxData' => $this->taxData, 'registry' => $this->registry]); $this->model->execute($observerObject); $this->assertEquals($expectedArray, $configObj->getData('config')); }
public function testExecute() { $this->moduleManagerMock->expects($this->once())->method('isEnabled')->with('Magento_PageCache')->willReturn(true); $this->cacheConfigMock->expects($this->once())->method('isEnabled')->willReturn(true); $this->taxHelperMock->expects($this->any())->method('isCatalogPriceDisplayAffectedByTax')->willReturn(true); $customerMock = $this->getMockBuilder('Magento\\Customer\\Model\\Data\\Customer')->disableOriginalConstructor()->getMock(); $this->observerMock->expects($this->once())->method('getData')->with('customer')->willReturn($customerMock); $customerMock->expects($this->once())->method('getGroupId')->willReturn(1); $customerGroupMock = $this->getMockBuilder('Magento\\Customer\\Model\\Data\\Group')->disableOriginalConstructor()->getMock(); $this->groupRepositoryMock->expects($this->once())->method('getById')->with(1)->willReturn($customerGroupMock); $customerGroupMock->expects($this->once())->method('getTaxClassId')->willReturn(1); $this->customerSessionMock->expects($this->once())->method('setCustomerTaxClassId')->with(1); $address = $this->objectManager->getObject('Magento\\Customer\\Model\\Data\\Address'); $address->setIsDefaultShipping(true); $address->setIsDefaultBilling(true); $address->setCountryId(1); $address->setPostCode(11111); $addresses = [$address]; $customerMock->expects($this->once())->method('getAddresses')->willReturn($addresses); $this->customerSessionMock->expects($this->once())->method('setDefaultTaxBillingAddress')->with(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->customerSessionMock->expects($this->once())->method('setDefaultTaxShippingAddress')->with(['country_id' => 1, 'region_id' => null, 'postcode' => 11111]); $this->session->execute($this->observerMock); }
public function testAroundDispatchBasedOnShipping() { $this->customerSessionMock->expects($this->once())->method('isLoggedIn')->willReturn(true); $this->moduleManagerMock->expects($this->once())->method('isEnabled')->with('Magento_PageCache')->willReturn(true); $this->cacheConfigMock->expects($this->once())->method('isEnabled')->willReturn(true); $this->weeeHelperMock->expects($this->once())->method('isEnabled')->willReturn(true); $this->taxHelperMock->expects($this->once())->method('getTaxBasedOn')->willReturn('shipping'); $storeMock = $this->getMockBuilder('Magento\\Store\\Model\\Store')->disableOriginalConstructor()->getMock(); $storeMock->expects($this->once())->method('getWebsiteId')->willReturn(1); $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($storeMock); $this->scopeConfigMock->expects($this->at(0))->method('getValue')->with(\Magento\Tax\Model\Config::CONFIG_XML_PATH_DEFAULT_COUNTRY, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, null)->willReturn('US'); $this->scopeConfigMock->expects($this->at(1))->method('getValue')->with(\Magento\Tax\Model\Config::CONFIG_XML_PATH_DEFAULT_REGION, \Magento\Store\Model\ScopeInterface::SCOPE_STORE, null)->willReturn(0); $this->customerSessionMock->expects($this->once())->method('getDefaultTaxShippingAddress')->willReturn(['country_id' => 'US', 'region_id' => 1]); $this->weeeTaxMock->expects($this->once())->method('isWeeeInLocation')->with('US', 1, 1)->willReturn(true); $this->httpContextMock->expects($this->once())->method('setValue')->with('weee_tax_region', ['countryId' => 'US', 'regionId' => 1], 0); $action = $this->objectManager->getObject('Magento\\Framework\\App\\Test\\Unit\\Action\\Stub\\ActionStub'); $request = $this->getMock('\\Magento\\Framework\\App\\Request\\Http', ['getActionName'], [], '', false); $expectedResult = 'expectedResult'; $proceed = function ($request) use($expectedResult) { return $expectedResult; }; $this->contextPlugin->aroundDispatch($action, $proceed, $request); }
public function testDisplayShippingBothPrices() { $this->taxHelper->expects($this->once())->method('displayShippingBothPrices'); $this->priceObj->displayShippingBothPrices(); }