public function testSerializeUnserializeWithTax() { $item = new Item(); $item->populate($this->_unit); $expected = []; foreach ($this->_taxRates as $rate) { $expected[$rate->getType()] = $rate->getRate(); } $this->assertEquals($expected, $item->getTaxRates()); $item = unserialize(serialize($item)); $this->assertEquals($expected, $item->getTaxRates()); }
/** * Set the return item from an OrderItem. * * @param OrderItem $item * @return Assembler */ public function setReturnItemFromOrderItem(OrderItem $item) { $this->_return->item = $returnItem = new OrderReturnItem(); $this->setCurrency($item->order->currencyID); $returnItem->order = $item->order; $returnItem->orderItem = $item; $returnItem->listPrice = $item->listPrice; $returnItem->actualPrice = $item->actualPrice; $returnItem->returnedValue = $item->gross; $returnItem->calculatedBalance = 0 - $item->gross; $returnItem->net = $item->net; $returnItem->discount = $item->discount; $returnItem->tax = $item->tax; $returnItem->gross = $item->gross; $returnItem->rrp = $item->rrp; $returnItem->taxRate = $item->taxRate; $returnItem->productTaxRate = $item->productTaxRate; $returnItem->taxStrategy = $item->taxStrategy; $returnItem->productID = $item->productID; $returnItem->productName = $item->productName; $returnItem->unit = $item->getUnit(); $returnItem->unitID = $item->unitID; $returnItem->unitRevision = $item->unitRevision; $returnItem->sku = $item->sku; $returnItem->barcode = $item->barcode; $returnItem->options = $item->options; $returnItem->brand = $item->brand; $returnItem->status = $this->_defaultStatus; $returnItem->taxes = $item->getTaxRates(); return $this; }