$entry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
- ->findOneByUsernameAndNotArchived('admin');
+ ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
$crawler = $client->request('GET', '/view/'.$entry->getId());
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
- $this->assertEquals(1, count($entry->getTags()));
+ // be sure to reload the entry
+ $entry = $client->getContainer()
+ ->get('doctrine.orm.entity_manager')
+ ->getRepository('WallabagCoreBundle:Entry')
+ ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
+
+ $this->assertEquals(3, count($entry->getTags()));
- # tag already exists and already assigned
+ // tag already exists and already assigned
$client->submit($form, $data);
$this->assertEquals(302, $client->getResponse()->getStatusCode());
->getRepository('WallabagCoreBundle:Entry')
->find($entry->getId());
- $this->assertEquals(1, count($newEntry->getTags()));
+ $this->assertEquals(3, count($newEntry->getTags()));
- # tag already exists but still not assigned to this entry
+ // tag already exists but still not assigned to this entry
$data = [
'tag[label]' => 'foo',
];
->getRepository('WallabagCoreBundle:Entry')
->find($entry->getId());
- $this->assertEquals(2, count($newEntry->getTags()));
+ $this->assertEquals(3, count($newEntry->getTags()));
}
public function testAddMultipleTagToEntry()
$entry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
- ->findOneByUsernameAndNotArchived('admin');
+ ->findByUrlAndUserId('http://0.0.0.0/entry2', $this->getLoggedInUserId());
$crawler = $client->request('GET', '/view/'.$entry->getId());
->find($entry->getId());
$tags = $newEntry->getTags()->toArray();
+ foreach ($tags as $key => $tag) {
+ $tags[$key] = $tag->getLabel();
+ }
+
$this->assertGreaterThanOrEqual(2, count($tags));
- $this->assertNotEquals(false, array_search('foo2', $tags), 'Tag foo2 is assigned to the entry');
- $this->assertNotEquals(false, array_search('bar2', $tags), 'Tag bar2 is assigned to the entry');
+ $this->assertNotFalse(array_search('foo2', $tags), 'Tag foo2 is assigned to the entry');
+ $this->assertNotFalse(array_search('bar2', $tags), 'Tag bar2 is assigned to the entry');
}
public function testRemoveTagFromEntry()
$entry = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
- ->findOneByUsernameAndNotArchived('admin');
+ ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId());
$tag = $client->getContainer()
->get('doctrine.orm.entity_manager')
$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')
+ ->findByUrlAndUserId('http://0.0.0.0/entry4', $this->getLoggedInUserId());
+
+ $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(1, $crawler->filter('div[class=entry]'));
+ }
}