/**
  * @param array $inputData
  * @param array $expectedData
  *
  * @dataProvider formatRequestProvider
  */
 public function testFormatRequest(array $inputData, array $expectedData)
 {
     /* @var $item QuoteProductRequest */
     $item = $inputData['item'];
     $item->setQuantity($inputData['quantity'])->setProductUnit($inputData['unit'])->setProductUnitCode($inputData['unitCode'])->setPrice($inputData['price']);
     $this->productUnitValueFormatter->expects($expectedData['formatUnitValue'] ? $this->once() : $this->never())->method('format')->with($inputData['quantity'], $inputData['unitCode'])->will($this->returnValue($expectedData['formattedUnits']));
     $price = $inputData['price'] ?: new OptionalPrice();
     $this->numberFormatter->expects($expectedData['formatPrice'] ? $this->once() : $this->never())->method('formatCurrency')->with($price->getValue(), $price->getCurrency())->will($this->returnValue($expectedData['formattedPrice']));
     $this->productUnitLabelFormatter->expects($expectedData['formatUnitLabel'] ? $this->once() : $this->never())->method('format')->with($inputData['unitCode'])->will($this->returnValue($expectedData['formattedUnit']));
     $this->translator->expects($this->any())->method('trans')->will($this->returnCallback(function ($id) {
         return $id;
     }));
     $this->assertSame($expectedData['formattedString'], $this->formatter->formatRequest($inputData['item']));
 }
Esempio n. 2
0
 /**
  * @param QuoteProductRequest $item
  * @return string
  */
 public function formatProductRequest(QuoteProductRequest $item)
 {
     return $this->quoteProductFormatter->formatRequest($item);
 }