/** * {@inheritdoc} */ public function apply(FilterDatasourceAdapterInterface $ds, $data) { $data = $this->dateFilterUtility->parseData($this->get(FilterUtility::DATA_NAME_KEY), $data); if (!$data) { return false; } $dateStartValue = $data['date_start']; $dateEndValue = $data['date_end']; $startDateParameterName = $ds->generateParameterName($this->getName()); $endDateParameterName = $ds->generateParameterName($this->getName()); $this->applyDependingOnType($data['type'], $ds, $dateStartValue, $dateEndValue, $startDateParameterName, $endDateParameterName, $data['field']); if (null !== $dateStartValue) { $ds->setParameter($startDateParameterName, $dateStartValue); } if (null !== $dateEndValue) { $ds->setParameter($endDateParameterName, $dateEndValue); } return true; }
/** * @dataProvider parseDataProvider * * @param mixed $data * @param string $fieldName * @param mixed $expectedResults */ public function testParse($data, $fieldName, $expectedResults) { $this->assertEquals($expectedResults, $this->utility->parseData($fieldName, $data)); }