]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - tests/Wallabag/ApiBundle/Controller/EntryRestControllerTest.php
Added API endpoint to handle a list of URL
[github/wallabag/wallabag.git] / tests / Wallabag / ApiBundle / Controller / EntryRestControllerTest.php
index 19fb51707a0272d1290089e1c6884c081708a9da..c37d08cbcd8b225203ee73bc82629001750877ca 100644 (file)
@@ -766,20 +766,50 @@ class EntryRestControllerTest extends WallabagApiTestCase
             ],
         ];
 
-        $this->client->request('DELETE', '/api/entries/tags/list?list='.json_encode($list));
+        $this->client->request('DELETE', '/api/entries/tags/list?list=' . json_encode($list));
+    }
+
+    public function testPostMassEntriesAction()
+    {
+        $list = [
+            [
+                'url' => 'http://0.0.0.0/entry2',
+                'action' => 'delete',
+            ],
+            [
+                'url' => 'http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html',
+                'action' => 'add',
+            ],
+            [
+                'url' => 'http://0.0.0.0/entry3',
+                'action' => 'delete',
+            ],
+            [
+                'url' => 'http://0.0.0.0/entry6',
+                'action' => 'add',
+            ],
+        ];
+
+        $this->client->request('POST', '/api/entries/lists?list='.json_encode($list));
 
         $this->assertEquals(200, $this->client->getResponse()->getStatusCode());
 
         $content = json_decode($this->client->getResponse()->getContent(), true);
 
-        $this->assertInternalType('int', $content[0]['entry']);
-        $this->assertEquals('http://0.0.0.0/entry4', $content[0]['url']);
+        $this->assertTrue($content[0]['entry']);
+        $this->assertEquals('http://0.0.0.0/entry2', $content[0]['url']);
+        $this->assertEquals('delete', $content[0]['action']);
 
-        $entry = $this->client->getContainer()->get('doctrine.orm.entity_manager')
-            ->getRepository('WallabagCoreBundle:Entry')
-            ->findByUrlAndUserId('http://0.0.0.0/entry4', 1);
+        $this->assertInternalType('int', $content[1]['entry']);
+        $this->assertEquals('http://www.lemonde.fr/musiques/article/2017/04/23/loin-de-la-politique-le-printemps-de-bourges-retombe-en-enfance_5115862_1654986.html', $content[1]['url']);
+        $this->assertEquals('add', $content[1]['action']);
 
-        $tags = $entry->getTags();
-        $this->assertCount(2, $tags);
+        $this->assertFalse($content[2]['entry']);
+        $this->assertEquals('http://0.0.0.0/entry3', $content[2]['url']);
+        $this->assertEquals('delete', $content[2]['action']);
+
+        $this->assertInternalType('int', $content[3]['entry']);
+        $this->assertEquals('http://0.0.0.0/entry6', $content[3]['url']);
+        $this->assertEquals('add', $content[3]['action']);
     }
 }