]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Tests/Controller/WallabagV1ControllerTest.php
Convert array + phpDoc
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Tests / Controller / WallabagV1ControllerTest.php
index 819bb0e60a38bb99e9198481e7f7f0031920e39b..f7de3fef61a43dce3fdc07aebcbc56f3cc38d556 100644 (file)
@@ -29,9 +29,9 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
 
         $file = new UploadedFile(__DIR__.'/../fixtures/wallabag-v1.json', 'wallabag-v1.json');
 
-        $data = array(
+        $data = [
             'upload_import_file[file]' => $file,
-        );
+        ];
 
         $client->submit($form, $data);
 
@@ -54,8 +54,53 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
 
         $this->assertTrue($content->getTags()->contains($tag));
 
-        $this->assertGreaterThan(1, $alert = $crawler->filter('div.messages.success')->extract(array('_text')));
-        $this->assertContains('Import summary', $alert[0]);
+        $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+        $this->assertContains('flashes.import.notice.summary', $body[0]);
+    }
+
+    public function testImportWallabagWithFileAndMarkAllAsRead()
+    {
+        $this->logInAs('admin');
+        $client = $this->getClient();
+
+        $crawler = $client->request('GET', '/import/wallabag-v1');
+        $form = $crawler->filter('form[name=upload_import_file] > button[type=submit]')->form();
+
+        $file = new UploadedFile(__DIR__.'/../fixtures/wallabag-v1-read.json', 'wallabag-v1-read.json');
+
+        $data = [
+            'upload_import_file[file]' => $file,
+            'upload_import_file[mark_as_read]' => 1,
+        ];
+
+        $client->submit($form, $data);
+
+        $this->assertEquals(302, $client->getResponse()->getStatusCode());
+
+        $crawler = $client->followRedirect();
+
+        $content1 = $client->getContainer()
+            ->get('doctrine.orm.entity_manager')
+            ->getRepository('WallabagCoreBundle:Entry')
+            ->findByUrlAndUserId(
+                'http://gilbert.pellegrom.me/recreating-the-square-slider',
+                $this->getLoggedInUserId()
+            );
+
+        $this->assertTrue($content1->isArchived());
+
+        $content2 = $client->getContainer()
+            ->get('doctrine.orm.entity_manager')
+            ->getRepository('WallabagCoreBundle:Entry')
+            ->findByUrlAndUserId(
+                'https://www.wallabag.org/features/',
+                $this->getLoggedInUserId()
+            );
+
+        $this->assertTrue($content2->isArchived());
+
+        $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+        $this->assertContains('flashes.import.notice.summary', $body[0]);
     }
 
     public function testImportWallabagWithEmptyFile()
@@ -68,9 +113,9 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
 
         $file = new UploadedFile(__DIR__.'/../fixtures/test.txt', 'test.txt');
 
-        $data = array(
+        $data = [
             'upload_import_file[file]' => $file,
-        );
+        ];
 
         $client->submit($form, $data);
 
@@ -78,7 +123,7 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
 
         $crawler = $client->followRedirect();
 
-        $this->assertGreaterThan(1, $alert = $crawler->filter('div.messages.success')->extract(array('_text')));
-        $this->assertContains('Import failed, please try again', $alert[0]);
+        $this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
+        $this->assertContains('flashes.import.notice.failed', $body[0]);
     }
 }