]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/CoreBundle/Controller/SiteCredentialControllerTest.php
Add a live test for restricted article
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Controller / SiteCredentialControllerTest.php
index 47bf0907a12c59bccd0164572b0d1e2aa0004a90..7e6dafee654539d18a4d619a3fc710d245c85cb7 100644 (file)
@@ -2,7 +2,9 @@
 
 namespace Tests\Wallabag\CoreBundle\Controller;
 
+use Symfony\Bundle\FrameworkBundle\Client;
 use Tests\Wallabag\CoreBundle\WallabagCoreTestCase;
+use Wallabag\CoreBundle\Entity\SiteCredential;
 
 class SiteCredentialControllerTest extends WallabagCoreTestCase
 {
@@ -52,18 +54,12 @@ class SiteCredentialControllerTest extends WallabagCoreTestCase
         $this->assertContains('flashes.site_credential.notice.added', $crawler->filter('body')->extract(['_text'])[0]);
     }
 
-    /**
-     * @depends testNewSiteCredential
-     */
     public function testEditSiteCredential()
     {
         $this->logInAs('admin');
         $client = $this->getClient();
 
-        $credential = $client->getContainer()
-            ->get('doctrine.orm.entity_manager')
-            ->getRepository('WallabagCoreBundle:SiteCredential')
-            ->findOneByHost('google.io');
+        $credential = $this->createSiteCredential($client);
 
         $crawler = $client->request('GET', '/site-credentials/'.$credential->getId().'/edit');
 
@@ -92,36 +88,26 @@ class SiteCredentialControllerTest extends WallabagCoreTestCase
         $this->assertContains('larry', $crawler->filter('input[id=site_credential_username]')->attr('value'));
     }
 
-    /**
-     * @depends testNewSiteCredential
-     */
     public function testEditFromADifferentUserSiteCredential()
     {
-        $this->logInAs('bob');
+        $this->logInAs('admin');
         $client = $this->getClient();
 
-        $credential = $client->getContainer()
-            ->get('doctrine.orm.entity_manager')
-            ->getRepository('WallabagCoreBundle:SiteCredential')
-            ->findOneByHost('google.io');
+        $credential = $this->createSiteCredential($client);
+
+        $this->logInAs('bob');
 
         $client->request('GET', '/site-credentials/'.$credential->getId().'/edit');
 
         $this->assertEquals(403, $client->getResponse()->getStatusCode());
     }
 
-    /**
-     * @depends testNewSiteCredential
-     */
     public function testDeleteSiteCredential()
     {
         $this->logInAs('admin');
         $client = $this->getClient();
 
-        $credential = $client->getContainer()
-            ->get('doctrine.orm.entity_manager')
-            ->getRepository('WallabagCoreBundle:SiteCredential')
-            ->findOneByHost('google.io');
+        $credential = $this->createSiteCredential($client);
 
         $crawler = $client->request('GET', '/site-credentials/'.$credential->getId().'/edit');
 
@@ -137,4 +123,18 @@ class SiteCredentialControllerTest extends WallabagCoreTestCase
 
         $this->assertContains('flashes.site_credential.notice.deleted', $crawler->filter('body')->extract(['_text'])[0]);
     }
+
+    private function createSiteCredential(Client $client)
+    {
+        $credential = new SiteCredential($this->getLoggedInUser());
+        $credential->setHost('google.io');
+        $credential->setUsername('sergei');
+        $credential->setPassword('microsoft');
+
+        $em = $client->getContainer()->get('doctrine.orm.entity_manager');
+        $em->persist($credential);
+        $em->flush();
+
+        return $credential;
+    }
 }