]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Tests/Controller/DeveloperControllerTest.php
Add listing clients
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Tests / Controller / DeveloperControllerTest.php
index 204796ca0dc741c8c4d3197bf4c87a9b4b4848a0..fc220b850d25d487ca5bd332a8b44645e41249c6 100644 (file)
@@ -6,19 +6,66 @@ use Wallabag\CoreBundle\Tests\WallabagCoreTestCase;
 
 class DeveloperControllerTest extends WallabagCoreTestCase
 {
-    public function testNewClient()
+    public function testCreateClient()
     {
         $this->logInAs('admin');
         $client = $this->getClient();
+        $em = $client->getContainer()->get('doctrine.orm.entity_manager');
+        $nbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
 
         $crawler = $client->request('GET', '/developer/client/create');
         $this->assertEquals(200, $client->getResponse()->getStatusCode());
 
         $form = $crawler->filter('button[type=submit]')->form();
 
-        $crawler = $client->submit($form);
+        $client->submit($form);
 
         $this->assertEquals(200, $client->getResponse()->getStatusCode());
-        $this->assertContains('Make sure to copy these parameters now.', $client->getResponse()->getContent());
+
+        $newNbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
+        $this->assertGreaterThan(count($nbClients), count($newNbClients));
+    }
+
+    public function testListingClient()
+    {
+        $this->logInAs('admin');
+        $client = $this->getClient();
+        $em = $client->getContainer()->get('doctrine.orm.entity_manager');
+        $nbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
+
+        $crawler = $client->request('GET', '/developer');
+        $this->assertEquals(200, $client->getResponse()->getStatusCode());
+        $this->assertEquals(count($nbClients), $crawler->filter('ul[class=collapsible] li')->count());
+    }
+
+    public function testDeveloperHowto()
+    {
+        $this->logInAs('admin');
+        $client = $this->getClient();
+
+        $crawler = $client->request('GET', '/developer/howto/first-app');
+        $this->assertEquals(200, $client->getResponse()->getStatusCode());
+    }
+
+    public function testRemoveClient()
+    {
+        $this->logInAs('admin');
+        $client = $this->getClient();
+        $em = $client->getContainer()->get('doctrine.orm.entity_manager');
+        $nbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
+
+        $crawler = $client->request('GET', '/developer');
+
+        $link = $crawler
+            ->filter('div[class=collapsible-body] p a')
+            ->eq(0)
+            ->link()
+        ;
+
+        $client->click($link);
+        $this->assertEquals(302, $client->getResponse()->getStatusCode());
+
+        $newNbClients = $em->getRepository('WallabagApiBundle:Client')->findAll();
+        $this->assertGreaterThan(count($newNbClients), count($nbClients));
     }
 }