3 namespace Wallabag\CoreBundle\Tests\Controller
;
5 use Wallabag\CoreBundle\Tests\WallabagCoreTestCase
;
7 class TagControllerTest
extends WallabagCoreTestCase
9 public function testList()
11 $this->logInAs('admin');
12 $client = $this->getClient();
14 $client->request('GET', '/tag/list');
16 $this->assertEquals(200, $client->getResponse()->getStatusCode());
19 public function testAddTagToEntry()
21 $this->logInAs('admin');
22 $client = $this->getClient();
24 $entry = $client->getContainer()
25 ->get('doctrine.orm.entity_manager')
26 ->getRepository('WallabagCoreBundle:Entry')
29 $crawler = $client->request('GET', '/view/'.$entry->getId());
31 $form = $crawler->filter('button[id=tag_save]')->form();
34 'tag[label]' => 'opensource',
37 $client->submit($form, $data);
38 $this->assertEquals(302, $client->getResponse()->getStatusCode());
40 $this->assertEquals(1, count($entry->getTags()));
42 # tag already exists and already assigned
43 $client->submit($form, $data);
44 $this->assertEquals(302, $client->getResponse()->getStatusCode());
46 $newEntry = $client->getContainer()
47 ->get('doctrine.orm.entity_manager')
48 ->getRepository('WallabagCoreBundle:Entry')
49 ->findOneById($entry->getId());
51 $this->assertEquals(1, count($newEntry->getTags()));
53 # tag already exists but still not assigned to this entry
55 'tag[label]' => 'foo',
58 $client->submit($form, $data);
59 $this->assertEquals(302, $client->getResponse()->getStatusCode());
61 $newEntry = $client->getContainer()
62 ->get('doctrine.orm.entity_manager')
63 ->getRepository('WallabagCoreBundle:Entry')
64 ->findOneById($entry->getId());
66 $this->assertEquals(2, count($newEntry->getTags()));