X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests%2FWallabag%2FCoreBundle%2FController%2FEntryControllerTest.php;h=5b80683078d9a101aff1b6b0ee098e60ad952526;hb=467327771aea031c0ad6e7ab0e8f5a97ba69a8e2;hp=b5655f71762a8dcefd46dab3caa9a962e592826a;hpb=31e3a233a457ee986d1cb347f7d02752159d5750;p=github%2Fwallabag%2Fwallabag.git diff --git a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php index b5655f71..5b806830 100644 --- a/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php +++ b/tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php @@ -1557,4 +1557,81 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertSame(302, $client->getResponse()->getStatusCode()); $this->assertContains('/view/', $client->getResponse()->getTargetUrl(), 'All random'); } + + public function testMass() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $entry1 = new Entry($this->getLoggedInUser()); + $entry1->setUrl($this->url); + $this->getEntityManager()->persist($entry1); + + $entry2 = new Entry($this->getLoggedInUser()); + $entry2->setUrl($this->url); + $this->getEntityManager()->persist($entry2); + + $this->getEntityManager()->flush(); + $this->getEntityManager()->clear(); + + $entries = []; + $entries[] = $entry1->getId(); + $entries[] = $entry2->getId(); + + // Mass actions : archive + $client->request('POST', '/mass', [ + 'toggle-archive' => '', + 'entry-checkbox' => $entries, + ]); + + $this->assertSame(302, $client->getResponse()->getStatusCode()); + + $res = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->find($entry1->getId()); + + $this->assertSame(1, $res->isArchived()); + + $res = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->find($entry2->getId()); + + $this->assertSame(1, $res->isArchived()); + + // Mass actions : star + $client->request('POST', '/mass', [ + 'toggle-star' => '', + 'entry-checkbox' => $entries, + ]); + + $this->assertSame(302, $client->getResponse()->getStatusCode()); + + $res = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->find($entry1->getId()); + + $this->assertSame(1, $res->isStarred()); + + $res = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->find($entry2->getId()); + + $this->assertSame(1, $res->isStarred()); + + // Mass actions : delete + $client->request('POST', '/mass', [ + 'delete' => '', + 'entry-checkbox' => $entries, + ]); + + $client->request('GET', '/delete/' . $entry1->getId()); + $this->assertSame(404, $client->getResponse()->getStatusCode()); + + $client->request('GET', '/delete/' . $entry2->getId()); + $this->assertSame(404, $client->getResponse()->getStatusCode()); + } }