public function testSetGetPrice() { $productPrice = new ProductPrice(); $this->assertNull($productPrice->getPrice()); $value = 11; $currency = 'EUR'; $this->setProperty($productPrice, 'value', $value); $this->setProperty($productPrice, 'currency', $currency); $productPrice->loadPrice(); $price = $productPrice->getPrice(); $this->assertInstanceOf('Oro\\Bundle\\CurrencyBundle\\Model\\Price', $price); $this->assertEquals($value, $price->getValue()); $this->assertEquals($currency, $price->getCurrency()); $price = Price::create(12, 'USD'); $productPrice->setPrice($price); $this->assertEquals($price, $productPrice->getPrice()); $productPrice->updatePrice(); $this->assertAttributeEquals($price->getValue(), 'value', $productPrice); $this->assertAttributeEquals($price->getCurrency(), 'currency', $productPrice); }
/** * @param ProductPrice $entity * @return string */ protected function getEntityHashByUniqueFields(ProductPrice $entity) { return md5(implode(':', [$entity->getProduct()->getId(), $entity->getPriceList()->getId(), $entity->getQuantity(), $entity->getUnit()->getCode(), $entity->getPrice()->getCurrency()])); }
/** * @param ProductPrice $productPrice * @return string */ protected function getHash(ProductPrice $productPrice) { return md5(sprintf('%s_%s_%s_%s_%s', $productPrice->getProduct()->getId(), $productPrice->getPriceList()->getId(), (double) $productPrice->getQuantity(), $productPrice->getUnit()->getCode(), $productPrice->getPrice()->getCurrency())); }
/** * @param ProductPrice $productPrice * @return string */ protected function formatProductPrice(ProductPrice $productPrice) { $price = $productPrice->getPrice(); return $this->numberFormatter->formatCurrency($price->getValue(), $price->getCurrency()); }