/** * @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'])); }
/** * @param QuoteProductRequest $item * @return string */ public function formatProductRequest(QuoteProductRequest $item) { return $this->quoteProductFormatter->formatRequest($item); }