X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;ds=sidebyside;f=src%2FWallabag%2FCoreBundle%2FTests%2FController%2FEntryControllerTest.php;h=2d846454a1f98988fedc67d5b8e5db0f45dd7686;hb=76cd8dbb059ebec2d0650089424681afc9bd6b0b;hp=96f402b0973758cef2fe059bee46e2899d62381e;hpb=831b02aaf2709d632453a03ab8eb2663fb947497;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php index 96f402b0..2d846454 100644 --- a/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php +++ b/src/Wallabag/CoreBundle/Tests/Controller/EntryControllerTest.php @@ -19,6 +19,38 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertContains('login', $client->getResponse()->headers->get('location')); } + public function testQuickstart() + { + $this->logInAs('empty'); + $client = $this->getClient(); + + $client->request('GET', '/unread/list'); + $crawler = $client->followRedirect(); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(array('_text'))); + $this->assertContains('quickstart.intro.paragraph_1', $body[0]); + + // Test if quickstart is disabled when user has 1 entry + $crawler = $client->request('GET', '/new'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('form[name=entry]')->form(); + + $data = array( + 'entry[url]' => $this->url, + ); + + $client->submit($form, $data); + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + $client->followRedirect(); + + $crawler = $client->request('GET', '/unread/list'); + $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(array('_text'))); + $this->assertContains('entry.list.number_on_the_page', $body[0]); + } + public function testGetNew() { $this->logInAs('admin'); @@ -29,7 +61,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(200, $client->getResponse()->getStatusCode()); $this->assertCount(1, $crawler->filter('input[type=url]')); - $this->assertCount(1, $crawler->filter('button[type=submit]')); + $this->assertCount(1, $crawler->filter('form[name=entry]')); } public function testPostNewViaBookmarklet() @@ -42,9 +74,9 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertCount(4, $crawler->filter('div[class=entry]')); // Good URL - $crawler = $client->request('GET', '/bookmarklet', array('url' => $this->url)); + $client->request('GET', '/bookmarklet', array('url' => $this->url)); $this->assertEquals(302, $client->getResponse()->getStatusCode()); - $crawler = $client->followRedirect(); + $client->followRedirect(); $crawler = $client->request('GET', '/'); $this->assertCount(5, $crawler->filter('div[class=entry]')); @@ -52,7 +84,7 @@ class EntryControllerTest extends WallabagCoreTestCase ->get('doctrine.orm.entity_manager'); $entry = $em ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $em->remove($entry); $em->flush(); } @@ -66,7 +98,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $form = $crawler->filter('button[type=submit]')->form(); + $form = $crawler->filter('form[name=entry]')->form(); $crawler = $client->submit($form); @@ -87,7 +119,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $form = $crawler->filter('button[type=submit]')->form(); + $form = $crawler->filter('form[name=entry]')->form(); $data = array( 'entry[url]' => $this->url, @@ -97,10 +129,35 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(302, $client->getResponse()->getStatusCode()); - $crawler = $client->followRedirect(); + $content = $client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); - $this->assertGreaterThan(1, $alert = $crawler->filter('h2 a')->extract(array('_text'))); - $this->assertContains('Google', $alert[0]); + $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content); + $this->assertEquals($this->url, $content->getUrl()); + $this->assertContains('Google', $content->getTitle()); + } + + public function testPostNewOkUrlExist() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $crawler = $client->request('GET', '/new'); + + $this->assertEquals(200, $client->getResponse()->getStatusCode()); + + $form = $crawler->filter('form[name=entry]')->form(); + + $data = array( + 'entry[url]' => $this->url, + ); + + $client->submit($form, $data); + + $this->assertEquals(302, $client->getResponse()->getStatusCode()); + $this->assertContains('/view/', $client->getResponse()->getTargetUrl()); } /** @@ -115,7 +172,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $form = $crawler->filter('button[type=submit]')->form(); + $form = $crawler->filter('form[name=entry]')->form(); $data = array( 'entry[url]' => $url = 'https://github.com/wallabag/wallabag', @@ -125,7 +182,7 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(302, $client->getResponse()->getStatusCode()); - $crawler = $client->followRedirect(); + $client->followRedirect(); $em = $client->getContainer() ->get('doctrine.orm.entity_manager'); @@ -161,6 +218,16 @@ class EntryControllerTest extends WallabagCoreTestCase $this->assertEquals(200, $client->getResponse()->getStatusCode()); } + public function testRangeException() + { + $this->logInAs('admin'); + $client = $this->getClient(); + + $client->request('GET', '/all/list/900'); + + $this->assertEquals(404, $client->getResponse()->getStatusCode()); + } + /** * @depends testPostNewOk */ @@ -172,12 +239,13 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); - $client->request('GET', '/view/'.$content->getId()); + $crawler = $client->request('GET', '/view/'.$content->getId()); $this->assertEquals(200, $client->getResponse()->getStatusCode()); - $this->assertContains($content->getTitle(), $client->getResponse()->getContent()); + $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(array('_text'))); + $this->assertContains($content->getTitle(), $body[0]); } /** @@ -193,7 +261,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); // empty content $content->setContent(''); @@ -207,7 +275,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $this->assertNotEmpty($content->getContent()); } @@ -220,7 +288,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $crawler = $client->request('GET', '/edit/'.$content->getId()); @@ -238,7 +306,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $crawler = $client->request('GET', '/edit/'.$content->getId()); @@ -268,7 +336,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $client->request('GET', '/archive/'.$content->getId()); @@ -290,7 +358,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $client->request('GET', '/star/'.$content->getId()); @@ -312,7 +380,7 @@ class EntryControllerTest extends WallabagCoreTestCase $content = $client->getContainer() ->get('doctrine.orm.entity_manager') ->getRepository('WallabagCoreBundle:Entry') - ->findOneByUrl($this->url); + ->findByUrlAndUserId($this->url, $this->getLoggedInUserId()); $client->request('GET', '/delete/'.$content->getId()); @@ -453,9 +521,9 @@ class EntryControllerTest extends WallabagCoreTestCase $client->submit($form, $data); - $parameters = '?entry_filter%5BreadingTime%5D%5Bleft_number%5D=&entry_filter%5BreadingTime%5D%5Bright_number%5D='; + $parameters = '?entry_filter%5BreadingTime%5D%5Bleft_number%5D=&entry_filter%5BreadingTime%5D%5Bright_number%5D='; - $crawler = $client->request('GET', 'unread/list'.$parameters); + $client->request('GET', 'unread/list'.$parameters); $this->assertContains($parameters, $client->getResponse()->getContent());