Merge pull request #2832 from Kdecherf/search-domain

Search by term: extend to entries url
This commit is contained in:
Jeremy Benoist 2017-02-19 21:52:35 +01:00 committed by GitHub
commit bba94d7458
2 changed files with 26 additions and 1 deletions

View file

@ -106,8 +106,9 @@ class EntryRepository extends EntityRepository
$qb->andWhere('e.isArchived = true');
}
// We lower() all parts here because PostgreSQL 'LIKE' verb is case-sensitive
$qb
->andWhere('e.content LIKE :term OR e.title LIKE :term')->setParameter('term', '%'.$term.'%')
->andWhere('lower(e.content) LIKE lower(:term) OR lower(e.title) LIKE lower(:term) OR lower(e.url) LIKE lower(:term)')->setParameter('term', '%'.$term.'%')
->leftJoin('e.tags', 't')
->groupBy('e.id');

View file

@ -1093,5 +1093,29 @@ class EntryControllerTest extends WallabagCoreTestCase
$crawler = $client->submit($form, $data);
$this->assertCount(0, $crawler->filter('div[class=entry]'));
// test url search on list of all articles
$crawler = $client->request('GET', '/all/list');
$form = $crawler->filter('form[name=search]')->form();
$data = [
'search_entry[term]' => 'domain', // the search will match an entry with 'domain' in its url
];
$crawler = $client->submit($form, $data);
$this->assertCount(1, $crawler->filter('div[class=entry]'));
// same as previous test but for case-sensitivity
$crawler = $client->request('GET', '/all/list');
$form = $crawler->filter('form[name=search]')->form();
$data = [
'search_entry[term]' => 'doMain', // the search will match an entry with 'domain' in its url
];
$crawler = $client->submit($form, $data);
$this->assertCount(1, $crawler->filter('div[class=entry]'));
}
}