X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FWallabag%2FCoreBundle%2FController%2FTagControllerTest.php;h=fa1a3539f4960d5d4b23d00222d404058f2ed12a;hb=6fb06904ecde15b1b07d0a2af945338b416cf0e2;hp=2c32393f74449f373c3a0e168c40dc36ca213cdb;hpb=fb479be3a0af95bba45c13b11e1f85bb9c753d25;p=github%2Fwallabag%2Fwallabag.git diff --git a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php index 2c32393f..fa1a3539 100644 --- a/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/TagControllerTest.php @@ -3,6 +3,7 @@ namespace Tests\Wallabag\CoreBundle\Controller; use Tests\Wallabag\CoreBundle\WallabagCoreTestCase; +use Wallabag\CoreBundle\Entity\Tag; class TagControllerTest extends WallabagCoreTestCase { @@ -26,7 +27,7 @@ class TagControllerTest extends WallabagCoreTestCase $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()); @@ -43,9 +44,9 @@ class TagControllerTest extends WallabagCoreTestCase $entry = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUsernameAndNotArchived('admin'); + ->findByUrlAndUserId('http://0.0.0.0/entry1', $this->getLoggedInUserId()); - $this->assertEquals(1, count($entry->getTags())); + $this->assertEquals(3, count($entry->getTags())); // tag already exists and already assigned $client->submit($form, $data); @@ -56,11 +57,11 @@ class TagControllerTest extends WallabagCoreTestCase ->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 $data = [ - 'tag[label]' => 'foo', + 'tag[label]' => 'foo bar', ]; $client->submit($form, $data); @@ -71,7 +72,7 @@ class TagControllerTest extends WallabagCoreTestCase ->getRepository('WallabagCoreBundle:Entry') ->find($entry->getId()); - $this->assertEquals(2, count($newEntry->getTags())); + $this->assertEquals(3, count($newEntry->getTags())); } public function testAddMultipleTagToEntry() @@ -82,7 +83,7 @@ class TagControllerTest extends WallabagCoreTestCase $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()); @@ -101,9 +102,13 @@ class TagControllerTest extends WallabagCoreTestCase ->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() @@ -114,7 +119,7 @@ class TagControllerTest extends WallabagCoreTestCase $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') @@ -130,36 +135,48 @@ class TagControllerTest extends WallabagCoreTestCase $client->request('GET', '/remove-tag/'.$entry->getId().'/'.$tag->getId()); $this->assertEquals(404, $client->getResponse()->getStatusCode()); + + $tag = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Tag') + ->findOneByLabel($this->tagName); + + $this->assertNull($tag, $this->tagName.' was removed because it begun an orphan tag'); } public function testShowEntriesForTagAction() { $this->logInAs('admin'); $client = $this->getClient(); + $em = $client->getContainer() + ->get('doctrine.orm.entity_manager'); + + $tag = new Tag(); + $tag->setLabel($this->tagName); $entry = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUsernameAndNotArchived('admin'); + ->findByUrlAndUserId('http://0.0.0.0/entry4', $this->getLoggedInUserId()); - $tag = $client->getContainer() - ->get('doctrine.orm.entity_manager') - ->getRepository('WallabagCoreBundle:Tag') - ->findOneByEntryAndTagLabel($entry, 'foo'); + $tag->addEntry($entry); - $crawler = $client->request('GET', '/tag/list/'.$tag->getSlug()); - - $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $this->assertCount(2, $crawler->filter('div[class=entry]')); + $em->persist($entry); + $em->persist($tag); + $em->flush(); $tag = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Tag') - ->findOneByLabel('baz'); + ->findOneByEntryAndTagLabel($entry, $this->tagName); $crawler = $client->request('GET', '/tag/list/'.$tag->getSlug()); $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $this->assertCount(0, $crawler->filter('div[class=entry]')); + $this->assertCount(1, $crawler->filter('[id*="entry-"]')); + + $entry->removeTag($tag); + $em->remove($tag); + $em->flush(); } }