コード例 #1
0
 /**
  * @return ProductPrice
  */
 public function getProductPrice()
 {
     $priceList = new PriceList();
     $priceList->setCurrencies(['USD', 'EUR']);
     $productPrice = new ProductPrice();
     $productPrice->setPriceList($priceList);
     return $productPrice;
 }
コード例 #2
0
 /**
  * @return array
  */
 public function submitProvider()
 {
     $priceList = new PriceList();
     $priceList->setCurrencies(['GBP']);
     /** @var Product $expectedProduct */
     $expectedProduct = $this->getProductEntityWithPrecision(2, 'kg', 3);
     $expectedPrice1 = (new Price())->setValue(42)->setCurrency('USD');
     $expectedPrice2 = (new Price())->setValue(42)->setCurrency('GBP');
     $expectedProductPrice = new ProductPrice();
     $expectedProductPrice->setProduct($expectedProduct)->setQuantity(123)->setUnit($expectedProduct->getUnitPrecision('kg')->getUnit())->setPrice($expectedPrice1)->setPriceList($priceList);
     $expectedProductPrice2 = clone $expectedProductPrice;
     $expectedProductPrice2->setQuantity(123.556)->setPrice($expectedPrice2);
     $defaultProductPrice = new ProductPrice();
     $defaultProductPrice->setPriceList($priceList);
     return ['product price without data' => ['defaultData' => $defaultProductPrice, 'submittedData' => [], 'expectedData' => clone $defaultProductPrice, 'rounding' => false], 'product price with data' => ['defaultData' => clone $defaultProductPrice, 'submittedData' => ['product' => 2, 'quantity' => 123, 'unit' => 'kg', 'price' => ['value' => 42, 'currency' => 'USD']], 'expectedData' => $expectedProductPrice, 'rounding' => true], 'product price with data for rounding' => ['defaultData' => clone $defaultProductPrice, 'submittedData' => ['product' => 2, 'quantity' => 123.5555, 'unit' => 'kg', 'price' => ['value' => 42, 'currency' => 'GBP']], 'expectedData' => $expectedProductPrice2, 'rounding' => true]];
 }