public function testBuild() { $data = [['label' => 'Test label', 'value' => 34, 'count' => 21235], ['label' => 'New label for test', 'value' => 2344, 'count' => 122]]; foreach ($data as $item) { $this->dataBuilder->addItemData($item['label'], $item['value'], $item['count']); } $actualData = $this->dataBuilder->build(); $this->assertEquals($data, $actualData); }
/** * @param int $range * @param int[] $dbRanges * @return array */ public function renderRangeData($range, $dbRanges) { if (empty($dbRanges)) { return []; } $lastIndex = array_keys($dbRanges); $lastIndex = $lastIndex[count($lastIndex) - 1]; foreach ($dbRanges as $index => $count) { $fromPrice = $index == 1 ? '' : ($index - 1) * $range; $toPrice = $index == $lastIndex ? '' : $index * $range; $this->itemDataBuilder->addItemData($this->renderRangeLabel($fromPrice, $toPrice), $fromPrice . '-' . $toPrice, $count); } return $this->itemDataBuilder->build(); }
/** * @param string $label * @param $value * @param int $count * @param null $selected * @param null $type */ public function addItemData($label, $value, $count, $selected = null, $type = null) { if ($this->bxDataHelper->isFilterLayoutEnabled($this->_layer)) { $this->_itemsData[] = ['label' => $label, 'value' => $value, 'count' => $count, 'selected' => $selected, 'type' => $type]; } else { parent::addItemData($label, $value, $count); } }