X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FApiBundle%2FTests%2FController%2FWallabagRestControllerTest.php;h=4c787277f5ff3cedc8906524e7a1e743486e3e88;hb=e7658cb00993fc24bddef26b6373197bd4503c99;hp=839ff386cfec96014e2150af2d895d1a81b5e289;hpb=f2e5fdc3666a2a6525b4202ab48df05efeebaf5c;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/ApiBundle/Tests/Controller/WallabagRestControllerTest.php b/src/Wallabag/ApiBundle/Tests/Controller/WallabagRestControllerTest.php index 839ff386..4c787277 100644 --- a/src/Wallabag/ApiBundle/Tests/Controller/WallabagRestControllerTest.php +++ b/src/Wallabag/ApiBundle/Tests/Controller/WallabagRestControllerTest.php @@ -152,6 +152,7 @@ class WallabagRestControllerTest extends WallabagApiTestCase $this->client->request('POST', '/api/entries.json', [ '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', 'tags' => 'google', + 'title' => 'New title for my article', ]); $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); @@ -162,6 +163,7 @@ class WallabagRestControllerTest extends WallabagApiTestCase $this->assertEquals('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', $content['url']); $this->assertEquals(false, $content['is_archived']); $this->assertEquals(false, $content['is_starred']); + $this->assertEquals('New title for my article', $content['title']); $this->assertEquals(1, $content['user_id']); $this->assertCount(1, $content['tags']); } @@ -421,4 +423,92 @@ class WallabagRestControllerTest extends WallabagApiTestCase $this->assertEquals($this->client->getContainer()->getParameter('wallabag_core.version'), $content); } + + public function testSaveIsArchivedAfterPost() + { + $entry = $this->client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findOneBy(['user' => 1, 'isArchived' => true]); + + if (!$entry) { + $this->markTestSkipped('No content found in db.'); + } + + $this->client->request('POST', '/api/entries.json', [ + 'url' => $entry->getUrl(), + ]); + + $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); + + $content = json_decode($this->client->getResponse()->getContent(), true); + + $this->assertEquals(true, $content['is_archived']); + } + + public function testSaveIsStarredAfterPost() + { + $entry = $this->client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findOneBy(['user' => 1, 'isStarred' => true]); + + if (!$entry) { + $this->markTestSkipped('No content found in db.'); + } + + $this->client->request('POST', '/api/entries.json', [ + 'url' => $entry->getUrl(), + ]); + + $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); + + $content = json_decode($this->client->getResponse()->getContent(), true); + + $this->assertEquals(true, $content['is_starred']); + } + + public function testSaveIsArchivedAfterPatch() + { + $entry = $this->client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findOneBy(['user' => 1, 'isArchived' => true]); + + if (!$entry) { + $this->markTestSkipped('No content found in db.'); + } + + $this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', [ + 'title' => $entry->getTitle().'++', + ]); + + $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); + + $content = json_decode($this->client->getResponse()->getContent(), true); + + $this->assertEquals(true, $content['is_archived']); + } + + public function testSaveIsStarredAfterPatch() + { + $entry = $this->client->getContainer() + ->get('doctrine.orm.entity_manager') + ->getRepository('WallabagCoreBundle:Entry') + ->findOneBy(['user' => 1, 'isStarred' => true]); + + if (!$entry) { + $this->markTestSkipped('No content found in db.'); + } + $this->client->request('PATCH', '/api/entries/'.$entry->getId().'.json', [ + 'title' => $entry->getTitle().'++', + ]); + + $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); + + $content = json_decode($this->client->getResponse()->getContent(), true); + + $this->assertEquals(true, $content['is_starred']); + } + }