public function testFormatShort() { $value = 42; $unit = (new ProductUnit())->setCode('kg'); $expectedResult = '42 kg'; $this->formatter->expects($this->once())->method('formatShort')->with($value, $unit)->willReturn($expectedResult); $this->assertEquals($expectedResult, $this->extension->formatShort($value, $unit)); }
/** * @param BaseQuoteProductItem $item * @param string $default * @return string */ protected function formatProductUnit(BaseQuoteProductItem $item, $default = '') { if (!$item->getProductUnit()) { return sprintf('%s %s', $item->getQuantity(), $item->getProductUnitCode()); } elseif ($item->getQuantity()) { return $this->productUnitValueFormatter->format($item->getQuantity(), $item->getProductUnit()); } return $default; }
/** * @param array $inputData * @param array $expectedData * * @dataProvider formatOfferProvider */ public function testFormatOffer(array $inputData, array $expectedData) { /* @var $item QuoteProductOffer */ $item = $inputData['item']; $item->setQuantity($inputData['quantity'])->setProductUnit($inputData['unit'])->setProductUnitCode($inputData['unitCode'])->setPrice($inputData['price']); $this->productUnitValueFormatter->expects($inputData['unit'] ? $this->once() : $this->never())->method('format')->with($inputData['quantity'], $inputData['unitCode'])->will($this->returnValue($expectedData['formattedUnits'])); $price = $inputData['price'] ?: new Price(); $this->numberFormatter->expects($price ? $this->once() : $this->never())->method('formatCurrency')->with($price->getValue(), $price->getCurrency())->will($this->returnValue($expectedData['formattedPrice'])); $this->productUnitLabelFormatter->expects($this->once())->method('format')->with($inputData['unitCode'])->will($this->returnValue($expectedData['formattedUnit'])); $this->translator->expects($this->once())->method('transChoice')->with($expectedData['transConstant'], $expectedData['transIndex'], ['{units}' => $expectedData['formattedUnits'], '{price}' => $expectedData['formattedPrice'], '{unit}' => $expectedData['formattedUnit']]); $this->formatter->formatOffer($inputData['item']); }
/** * @expectedException \InvalidArgumentException * @expectedExceptionMessage The parameter "value" must be a numeric, but it is of type string. */ public function testFormatWithInvalidValue() { $this->formatter->formatShort('test', (new ProductUnit())->setCode('item')); }
/** * @param float|integer $value * @param ProductUnit $unit * @return string */ public function formatShort($value, ProductUnit $unit) { return $this->formatter->formatShort($value, $unit); }