mirror of
https://github.com/wallabag/wallabag.git
synced 2024-11-26 11:01:04 +00:00
Added tests
This commit is contained in:
parent
49b042dfdf
commit
32f455c131
6 changed files with 73 additions and 5 deletions
|
@ -110,8 +110,7 @@ class EntryRepository extends EntityRepository
|
||||||
$qb
|
$qb
|
||||||
->andWhere('e.content LIKE :term OR e.title LIKE :term')->setParameter('term', '%'.$term.'%')
|
->andWhere('e.content LIKE :term OR e.title LIKE :term')->setParameter('term', '%'.$term.'%')
|
||||||
->leftJoin('e.tags', 't')
|
->leftJoin('e.tags', 't')
|
||||||
->groupBy('e.id')
|
->groupBy('e.id');
|
||||||
->having('count(t.id) = 0');
|
|
||||||
|
|
||||||
return $qb;
|
return $qb;
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,7 +162,7 @@ entry:
|
||||||
archived: "Articles lus"
|
archived: "Articles lus"
|
||||||
filtered: "Articles filtrés"
|
filtered: "Articles filtrés"
|
||||||
filtered_tags: "Articles filtrés par tags :"
|
filtered_tags: "Articles filtrés par tags :"
|
||||||
filtered_search: 'Articles filtrés par une recherche :'
|
filtered_search: 'Articles filtrés par recherche :'
|
||||||
untagged: "Article sans tag"
|
untagged: "Article sans tag"
|
||||||
list:
|
list:
|
||||||
number_on_the_page: "{0} Il n’y a pas d’articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
|
number_on_the_page: "{0} Il n’y a pas d’articles.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles."
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
<span class="black-text">{{ form_errors(form.term) }}</span>
|
<span class="black-text">{{ form_errors(form.term) }}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
<input type="hidden" name="currentRoute" value="{{ currentRoute }}" />
|
||||||
|
|
||||||
{{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }}
|
{{ form_widget(form.term, { 'attr': {'autocomplete': 'off', 'placeholder': 'entry.search.placeholder'} }) }}
|
||||||
|
|
||||||
{{ form_rest(form) }}
|
{{ form_rest(form) }}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<li class="menu new"><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
|
<li class="menu new"><a href="{{ path('new') }}">{{ 'menu.left.save_link'|trans }}</a></li>
|
||||||
<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
|
<li style="position: relative;"><a href="javascript: void(null);" id="search">{{ 'menu.left.search'|trans }}</a>
|
||||||
<div id="search-form" class="messages info popup-form">
|
<div id="search-form" class="messages info popup-form">
|
||||||
{{ render(controller("WallabagCoreBundle:Entry:searchForm")) }}
|
{{ render(controller("WallabagCoreBundle:Entry:searchForm", {'currentRoute': app.request.attributes.get('_route')})) }}
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu config"><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
|
<li class="menu config"><a href="{{ path('config') }}">{{ 'menu.left.config'|trans }}</a></li>
|
||||||
|
|
|
@ -1018,4 +1018,71 @@ class EntryControllerTest extends WallabagCoreTestCase
|
||||||
|
|
||||||
$this->assertCount(7, $crawler->filter('div[class=entry]'));
|
$this->assertCount(7, $crawler->filter('div[class=entry]'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSearch()
|
||||||
|
{
|
||||||
|
$this->logInAs('admin');
|
||||||
|
$client = $this->getClient();
|
||||||
|
|
||||||
|
// Search on unread list
|
||||||
|
$crawler = $client->request('GET', '/unread/list');
|
||||||
|
|
||||||
|
$form = $crawler->filter('form[name=search]')->form();
|
||||||
|
$data = [
|
||||||
|
'search_entry[term]' => 'title',
|
||||||
|
];
|
||||||
|
|
||||||
|
$crawler = $client->submit($form, $data);
|
||||||
|
|
||||||
|
$this->assertCount(4, $crawler->filter('div[class=entry]'));
|
||||||
|
|
||||||
|
// Search on starred list
|
||||||
|
$crawler = $client->request('GET', '/starred/list');
|
||||||
|
|
||||||
|
$form = $crawler->filter('form[name=search]')->form();
|
||||||
|
$data = [
|
||||||
|
'search_entry[term]' => 'title',
|
||||||
|
];
|
||||||
|
|
||||||
|
$crawler = $client->submit($form, $data);
|
||||||
|
|
||||||
|
$this->assertCount(1, $crawler->filter('div[class=entry]'));
|
||||||
|
|
||||||
|
// Added new article to test on archive list
|
||||||
|
$crawler = $client->request('GET', '/new');
|
||||||
|
$form = $crawler->filter('form[name=entry]')->form();
|
||||||
|
$data = [
|
||||||
|
'entry[url]' => $this->url,
|
||||||
|
];
|
||||||
|
$client->submit($form, $data);
|
||||||
|
$content = $client->getContainer()
|
||||||
|
->get('doctrine.orm.entity_manager')
|
||||||
|
->getRepository('WallabagCoreBundle:Entry')
|
||||||
|
->findByUrlAndUserId($this->url, $this->getLoggedInUserId());
|
||||||
|
$client->request('GET', '/archive/'.$content->getId());
|
||||||
|
|
||||||
|
$crawler = $client->request('GET', '/archive/list');
|
||||||
|
|
||||||
|
$form = $crawler->filter('form[name=search]')->form();
|
||||||
|
$data = [
|
||||||
|
'search_entry[term]' => 'manège',
|
||||||
|
];
|
||||||
|
|
||||||
|
$crawler = $client->submit($form, $data);
|
||||||
|
|
||||||
|
$this->assertCount(1, $crawler->filter('div[class=entry]'));
|
||||||
|
$client->request('GET', '/delete/'.$content->getId());
|
||||||
|
|
||||||
|
// test on list of all articles
|
||||||
|
$crawler = $client->request('GET', '/all/list');
|
||||||
|
|
||||||
|
$form = $crawler->filter('form[name=search]')->form();
|
||||||
|
$data = [
|
||||||
|
'search_entry[term]' => 'pocket',
|
||||||
|
];
|
||||||
|
|
||||||
|
$crawler = $client->submit($form, $data);
|
||||||
|
|
||||||
|
$this->assertCount(0, $crawler->filter('div[class=entry]'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue