diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-10-07 23:31:53 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-10-07 23:31:53 +0200 |
commit | ac8cf632bb3a225c1b69d16e714ff60a2e988c89 (patch) | |
tree | 6789145b0518564d943399fd1b37830089cc4376 /tests/Wallabag/ApiBundle | |
parent | 3049afe190d125e4861059b6bbad7c6fbea6f1bb (diff) | |
download | wallabag-ac8cf632bb3a225c1b69d16e714ff60a2e988c89.tar.gz wallabag-ac8cf632bb3a225c1b69d16e714ff60a2e988c89.tar.zst wallabag-ac8cf632bb3a225c1b69d16e714ff60a2e988c89.zip |
Ensure orphan tag are remove in API
When the association between a tag and an entry is removed, if the tag doesn’t have other entries, we can remove it.
Also add more tests for that part and ensure TagControllerTest is isolated from the rest of the test suite (finally!)
Diffstat (limited to 'tests/Wallabag/ApiBundle')
-rw-r--r-- | tests/Wallabag/ApiBundle/Controller/WallabagRestControllerTest.php | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/Wallabag/ApiBundle/Controller/WallabagRestControllerTest.php b/tests/Wallabag/ApiBundle/Controller/WallabagRestControllerTest.php index 65b65290..c797daf7 100644 --- a/tests/Wallabag/ApiBundle/Controller/WallabagRestControllerTest.php +++ b/tests/Wallabag/ApiBundle/Controller/WallabagRestControllerTest.php | |||
@@ -561,6 +561,8 @@ class WallabagRestControllerTest extends WallabagApiTestCase | |||
561 | */ | 561 | */ |
562 | public function testDeleteUserTag($tag) | 562 | public function testDeleteUserTag($tag) |
563 | { | 563 | { |
564 | $tagName = $tag['label']; | ||
565 | |||
564 | $this->client->request('DELETE', '/api/tags/'.$tag['id'].'.json'); | 566 | $this->client->request('DELETE', '/api/tags/'.$tag['id'].'.json'); |
565 | 567 | ||
566 | $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); | 568 | $this->assertEquals(200, $this->client->getResponse()->getStatusCode()); |
@@ -577,6 +579,13 @@ class WallabagRestControllerTest extends WallabagApiTestCase | |||
577 | ->findAllByTagId($this->user->getId(), $tag['id']); | 579 | ->findAllByTagId($this->user->getId(), $tag['id']); |
578 | 580 | ||
579 | $this->assertCount(0, $entries); | 581 | $this->assertCount(0, $entries); |
582 | |||
583 | $tag = $this->client->getContainer() | ||
584 | ->get('doctrine.orm.entity_manager') | ||
585 | ->getRepository('WallabagCoreBundle:Tag') | ||
586 | ->findOneByLabel($tagName); | ||
587 | |||
588 | $this->assertNull($tag, $tagName.' was removed because it begun an orphan tag'); | ||
580 | } | 589 | } |
581 | 590 | ||
582 | public function testDeleteTagByLabel() | 591 | public function testDeleteTagByLabel() |