From 3e5d725502e403df5a5af4a197f4b94d147efccf Mon Sep 17 00:00:00 2001 From: Bernhard Reiter Date: Tue, 30 Sep 2014 12:19:08 +0200 Subject: Test addMultiple() with $sync=true. --- tests/lib/tags.php | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/lib/tags.php b/tests/lib/tags.php index 3eba470a509..9195587f1dd 100644 --- a/tests/lib/tags.php +++ b/tests/lib/tags.php @@ -84,7 +84,36 @@ class Test_Tags extends PHPUnit_Framework_TestCase { $this->assertTrue($tagger->hasTag($tag)); } - $this->assertCount(4, $tagger->getTags(), 'Not all tags added'); + $tagMaps = $tagger->getTags(); + $this->assertCount(4, $tagMaps, 'Not all tags added'); + foreach($tagMaps as $tagMap) { + $this->assertEquals(null, $tagMap['id']); + } + + // As addMultiple has been called without $sync=true, the tags aren't + // saved to the database, so they're gone when we reload $tagger: + + $tagger = $this->tagMgr->load($this->objectType); + $this->assertEquals(0, count($tagger->getTags())); + + // Now, we call addMultiple() with $sync=true so the tags will be + // be saved to the database. + $result = $tagger->addMultiple($tags, true); + $this->assertTrue((bool)$result); + + $tagMaps = $tagger->getTags(); + foreach($tagMaps as $tagMap) { + $this->assertNotEquals(null, $tagMap['id']); + } + + // Reload the tagger. + $tagger = $this->tagMgr->load($this->objectType); + + foreach($tags as $tag) { + $this->assertTrue($tagger->hasTag($tag)); + } + + $this->assertCount(4, $tagger->getTags(), 'Not all previously saved tags found'); } public function testIsEmpty() { -- cgit v1.2.3