Пример #1
0
 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());
 }