Add some tests

This commit is contained in:
Jeremy Benoist 2017-05-09 12:12:23 +02:00
parent 1267905d28
commit 1b1647175d
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
2 changed files with 29 additions and 3 deletions

View file

@ -34,7 +34,7 @@ class EntryFilterType extends AbstractType
$this->user = $tokenStorage->getToken() ? $tokenStorage->getToken()->getUser() : null;
if (null === $this->user || !is_object($this->user)) {
return null;
return;
}
}
@ -42,8 +42,14 @@ class EntryFilterType extends AbstractType
{
$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];

View file

@ -591,6 +591,26 @@ class EntryControllerTest extends WallabagCoreTestCase
$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');