diff options
| author | Andy Lindeman <andy@highgroove.com> | 2011-04-23 12:04:12 -0400 | 
|---|---|---|
| committer | Andy Lindeman <andy@highgroove.com> | 2011-04-23 12:04:43 -0400 | 
| commit | c101151616033d53587d1435881dae0fa45aeefa (patch) | |
| tree | c848494ad67ed0c10cfdf6b7f7f5d00b92717d40 /modules/tag/tests | |
| parent | 563a25f559a0247b2e3f4e96b191e7138c8e8ea5 (diff) | |
Allow tags to be merged by renaming
* Fixes #1628
Diffstat (limited to 'modules/tag/tests')
| -rw-r--r-- | modules/tag/tests/Tag_Test.php | 50 | 
1 files changed, 46 insertions, 4 deletions
| diff --git a/modules/tag/tests/Tag_Test.php b/modules/tag/tests/Tag_Test.php index f5ccb3a2..9e10fa4a 100644 --- a/modules/tag/tests/Tag_Test.php +++ b/modules/tag/tests/Tag_Test.php @@ -18,18 +18,60 @@   * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA  02110-1301, USA.   */  class Tag_Test extends Gallery_Unit_Test_Case { +  public function teardown() { +    ORM::factory("tag")->delete_all(); +  } +    public function create_tag_test() {      $album = test::random_album();      tag::add($album, "tag1");      $tag = ORM::factory("tag")->where("name", "=", "tag1")->find(); -    $this->assert_true(1, $tag->count); +    $this->assert_equal(1, $tag->count);      // Make sure adding the tag again doesn't increase the count      tag::add($album, "tag1"); -    $this->assert_true(1, $tag->reload()->count); +    $this->assert_equal(1, $tag->reload()->count);      tag::add(test::random_album(), "tag1"); -    $this->assert_true(2, $tag->reload()->count); +    $this->assert_equal(2, $tag->reload()->count); +  } + +  public function rename_merge_tag_test() { +    $album1 = test::random_album(); +    $album2 = test::random_album(); + +    tag::add($album1, "tag1"); +    tag::add($album2, "tag2"); + +    $tag1 = ORM::factory("tag")->where("name", "=", "tag1")->find(); +    $tag1->name = "tag2"; +    $tag1->save(); + +    // Tags should be merged; $tag2 should be deleted +    $tag1->reload(); + +    $this->assert_equal(2, $tag1->count); +    $this->assert_true($tag1->has($album1)); +    $this->assert_true($tag1->has($album2)); +    $this->assert_equal(1, ORM::factory("tag")->count_all()); +  } + +  public function rename_merge_tag_with_same_items_test() { +    $album = test::random_album(); + +    tag::add($album, "tag1"); +    tag::add($album, "tag2"); + +    $tag1 = ORM::factory("tag")->where("name", "=", "tag1")->find(); +    $tag1->name = "tag2"; +    $tag1->save(); + +    // Tags should be merged +    $tag1->reload(); + +    $this->assert_equal(1, $tag1->count); +    $this->assert_true($tag1->has($album)); +    $this->assert_equal(1, ORM::factory("tag")->count_all());    } -}
\ No newline at end of file +} | 
