]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/CoreBundle/Controller/EntryControllerTest.php
Merge pull request #3133 from wallabag/testing-travis-failure
[github/wallabag/wallabag.git] / tests / Wallabag / CoreBundle / Controller / EntryControllerTest.php
index 82ac3ac3f183c8a6387621cd80309655ac48314b..116e5f323bbfa330154fc8b42efb8e1abe59f23f 100644 (file)
@@ -8,8 +8,24 @@ use Wallabag\CoreBundle\Entity\Entry;
 
 class EntryControllerTest extends WallabagCoreTestCase
 {
+    public $downloadImagesEnabled = false;
     public $url = 'http://www.lemonde.fr/pixels/article/2015/03/28/plongee-dans-l-univers-d-ingress-le-jeu-de-google-aux-frontieres-du-reel_4601155_4408996.html';
 
+    /**
+     * @after
+     *
+     * Ensure download_images_enabled is disabled after each script
+     */
+    public function tearDownImagesEnabled()
+    {
+        if ($this->downloadImagesEnabled) {
+            $client = static::createClient();
+            $client->getContainer()->get('craue_config')->set('download_images_enabled', 0);
+
+            $this->downloadImagesEnabled = false;
+        }
+    }
+
     public function testLogin()
     {
         $client = $this->getClient();
@@ -627,6 +643,26 @@ class EntryControllerTest extends WallabagCoreTestCase
         $this->assertCount(1, $crawler->filter('div[class=entry]'));
     }
 
+    public function testFilterOnReadingTimeWithNegativeValue()
+    {
+        $this->logInAs('admin');
+        $client = $this->getClient();
+
+        $crawler = $client->request('GET', '/unread/list');
+
+        $form = $crawler->filter('button[id=submit-filter]')->form();
+
+        $data = [
+            'entry_filter[readingTime][right_number]' => -22,
+            'entry_filter[readingTime][left_number]' => -22,
+        ];
+
+        $crawler = $client->submit($form, $data);
+
+        // forcing negative value results in no entry displayed
+        $this->assertCount(0, $crawler->filter('div[class=entry]'));
+    }
+
     public function testFilterOnReadingTimeOnlyUpper()
     {
         $this->logInAs('admin');
@@ -885,6 +921,7 @@ class EntryControllerTest extends WallabagCoreTestCase
 
     public function testNewEntryWithDownloadImagesEnabled()
     {
+        $this->downloadImagesEnabled = true;
         $this->logInAs('admin');
         $client = $this->getClient();
 
@@ -915,7 +952,8 @@ class EntryControllerTest extends WallabagCoreTestCase
         $this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $entry);
         $this->assertEquals($url, $entry->getUrl());
         $this->assertContains('Perpignan', $entry->getTitle());
-        $this->assertContains('/d9bc0fcd.jpeg', $entry->getContent());
+        // instead of checking for the filename (which might change) check that the image is now local
+        $this->assertContains('http://v2.wallabag.org/assets/images/', $entry->getContent());
 
         $client->getContainer()->get('craue_config')->set('download_images_enabled', 0);
     }
@@ -925,6 +963,7 @@ class EntryControllerTest extends WallabagCoreTestCase
      */
     public function testRemoveEntryWithDownloadImagesEnabled()
     {
+        $this->downloadImagesEnabled = true;
         $this->logInAs('admin');
         $client = $this->getClient();