X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/fd6f00b069af5a7b87227ea4c3401dc461d7311a..9156448ad6f1601c1c49a75ce58b0a0e932a51ed:/test/unit/relation_tag_test.rb diff --git a/test/unit/relation_tag_test.rb b/test/unit/relation_tag_test.rb index 5c008fc34..e091efb0f 100644 --- a/test/unit/relation_tag_test.rb +++ b/test/unit/relation_tag_test.rb @@ -4,7 +4,7 @@ class RelationTagTest < Test::Unit::TestCase api_fixtures def test_relation_tag_count - assert_equal 3, RelationTag.count + assert_equal 7, RelationTag.count end def test_length_key_valid @@ -67,4 +67,22 @@ class RelationTagTest < Test::Unit::TestCase assert_raise(ActiveRecord::RecordInvalid) {tag.save!} assert tag.new_record? end + + ## + # test that tags can be updated and saved uniquely, i.e: tag.save! + # only affects the single tag that the activerecord object + # represents. this amounts to testing that the primary key is + # unique. + def test_update + v = "probably unique string here 3142592654" + assert_equal 0, RelationTag.count(:conditions => ['v=?', v]) + + # make sure we select a tag on a relation which has more than one tag + id = current_relations(:multi_tag_relation).id + tag = RelationTag.find(:first, :conditions => ["id = ?", id]) + tag.v = v + tag.save! + + assert_equal 1, RelationTag.count(:conditions => ['v=?', v]) + end end