*/
public function showEntriesForTagAction(Tag $tag, $page, Request $request)
{
- $pagerAdapter = new ArrayAdapter($tag->getEntries()->toArray());
+ $entriesByTag = $this->getDoctrine()
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->findAllByTagId($this->getUser()->getId(), $tag->getId());
+
+ $pagerAdapter = new ArrayAdapter($entriesByTag);
$entries = $this->get('wallabag_core.helper.prepare_pager_for_entries')
->prepare($pagerAdapter, $page);
$this->assertEquals(404, $client->getResponse()->getStatusCode());
}
+
+ public function testShowEntriesForTagAction()
+ {
+ $this->logInAs('admin');
+ $client = $this->getClient();
+
+ $entry = $client->getContainer()
+ ->get('doctrine.orm.entity_manager')
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->findOneByUsernameAndNotArchived('admin');
+
+ $tag = $client->getContainer()
+ ->get('doctrine.orm.entity_manager')
+ ->getRepository('WallabagCoreBundle:Tag')
+ ->findOneByEntryAndTagLabel($entry, 'foo');
+
+ $crawler = $client->request('GET', '/tag/list/'.$tag->getSlug());
+
+ $this->assertEquals(200, $client->getResponse()->getStatusCode());
+ $this->assertCount(2, $crawler->filter('div[class=entry]'));
+
+ $tag = $client->getContainer()
+ ->get('doctrine.orm.entity_manager')
+ ->getRepository('WallabagCoreBundle:Tag')
+ ->findOneByLabel('baz');
+
+ $crawler = $client->request('GET', '/tag/list/'.$tag->getSlug());
+
+ $this->assertEquals(200, $client->getResponse()->getStatusCode());
+ $this->assertCount(0, $crawler->filter('div[class=entry]'));
+ }
}