]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/ImportBundle/Tests/Controller/WallabagV1ControllerTest.php
Adding test
[github/wallabag/wallabag.git] / src / Wallabag / ImportBundle / Tests / Controller / WallabagV1ControllerTest.php
index 819bb0e60a38bb99e9198481e7f7f0031920e39b..7f97b0f5522719505d75e323296cda498e5f6837 100644 (file)
@@ -58,6 +58,50 @@ class WallabagV1ControllerTest extends WallabagCoreTestCase
         $this->assertContains('Import summary', $alert[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 = array(
+            '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->assertContains('Import summary', $client->getResponse()->getContent());
+    }
+
     public function testImportWallabagWithEmptyFile()
     {
         $this->logInAs('admin');