$this->user = $tokenStorage->getToken() ? $tokenStorage->getToken()->getUser() : null;
if (null === $this->user || !is_object($this->user)) {
- return null;
+ return;
}
}
{
$builder
->add('readingTime', NumberRangeFilterType::class, [
- 'left_number_options' => ['condition_operator' => FilterOperands::OPERATOR_GREATER_THAN_EQUAL, 'attr' => ['min' => 0]],
- 'right_number_options' => ['condition_operator' => FilterOperands::OPERATOR_LOWER_THAN_EQUAL, 'attr' => ['min' => 0]],
+ 'left_number_options' => [
+ 'condition_operator' => FilterOperands::OPERATOR_GREATER_THAN_EQUAL,
+ 'attr' => ['min' => 0],
+ ],
+ 'right_number_options' => [
+ 'condition_operator' => FilterOperands::OPERATOR_LOWER_THAN_EQUAL,
+ 'attr' => ['min' => 0],
+ ],
'apply_filter' => function (QueryInterface $filterQuery, $field, $values) {
$lower = $values['value']['left_number'][0];
$upper = $values['value']['right_number'][0];
$this->assertCount(1, $crawler->filter('div[class=entry]'));
}
+ public function testFilterOnReadingTimeWithNegativeValue()
+ {
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ $crawler = $client->request('GET', '/unread/list');
+
+ $form = $crawler->filter('button[id=submit-filter]')->form();
+
+ $data = [
+ 'entry_filter[readingTime][right_number]' => -22,
+ 'entry_filter[readingTime][left_number]' => -22,
+ ];
+
+ $crawler = $client->submit($form, $data);
+
+ // forcing negative value results in no entry displayed
+ $this->assertCount(0, $crawler->filter('div[class=entry]'));
+ }
+
public function testFilterOnReadingTimeOnlyUpper()
{
$this->logInAs('admin');