public function testUpdatePrice()
 {
     $item = new RequestProductItem();
     $item->setPrice(Price::create(11, 'EUR'));
     $item->updatePrice();
     $this->assertEquals(11, $this->getProperty($item, 'value'));
     $this->assertEquals('EUR', $this->getProperty($item, 'currency'));
 }
Ejemplo n.º 2
0
 /**
  * @param Request $request
  * @param ObjectManager $manager
  */
 protected function processRequestProducts(Request $request, ObjectManager $manager)
 {
     $products = $this->getProducts($manager);
     $currencies = $this->getCurrencies();
     for ($i = 0; $i < rand(1, 10); $i++) {
         $product = $products[rand(0, count($products) - 1)];
         $unitPrecisions = $product->getUnitPrecisions();
         if (!count($unitPrecisions)) {
             continue;
         }
         $requestProduct = new RequestProduct();
         $requestProduct->setProduct($product);
         $requestProduct->setComment(sprintf('Notes %s', $i));
         for ($j = 0; $j < rand(1, 10); $j++) {
             $productUnit = $unitPrecisions[rand(0, count($unitPrecisions) - 1)]->getUnit();
             $currency = $currencies[rand(0, count($currencies) - 1)];
             $requestProductItem = new RequestProductItem();
             $requestProductItem->setPrice(Price::create(rand(1, 100), $currency))->setQuantity(rand(1, 100))->setProductUnit($productUnit);
             $requestProduct->addRequestProductItem($requestProductItem);
         }
         $request->addRequestProduct($requestProduct);
     }
 }
Ejemplo n.º 3
0
 /**
  * @param int $productId
  * @param int $quantity
  * @param string $unitCode
  * @param OptionalPrice $price
  * @return RequestProductItem
  */
 protected function getRequestProductItem($productId, $quantity = null, $unitCode = null, OptionalPrice $price = null)
 {
     $requestProductItem = new RequestProductItem();
     $requestProductItem->setRequestProduct($this->getRequestProduct($productId));
     if (null !== $quantity) {
         $requestProductItem->setQuantity($quantity);
     }
     if (null !== $unitCode) {
         $requestProductItem->setProductUnit($this->getEntity('OroB2B\\Bundle\\ProductBundle\\Entity\\ProductUnit', $unitCode, 'code'));
     }
     if (null !== $price) {
         $requestProductItem->setPrice($price);
     }
     return $requestProductItem;
 }