/** * Callback function that creates a tax details item with applied taxes from a quote details item for testing. * * @param QuoteDetailsItem $item * @return Data\TaxDetails\Item */ public function createTaxDetailsItemWithAppliedTaxes(QuoteDetailsItem $item) { $appliedTaxRateBuilder = $this->taxDetailsBuilder->getAppliedTaxBuilder(); $taxRateBuilder = $appliedTaxRateBuilder->getAppliedTaxRateBuilder(); $rate = $taxRateBuilder->setPercent(self::TAX)->setCode('TAX')->setTitle('Tax')->create(); $appliedTaxes = $appliedTaxRateBuilder->setAmount($item->getUnitPrice() * self::TAX)->setTaxRateKey('TAX_RATE')->setPercent(self::TAX)->setRates([$rate])->create(); return $this->taxDetailsItemBuilder->populate($this->createTaxDetailsItem($item))->setAppliedTaxes([$appliedTaxes])->create(); }