X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/96dfe22fb006ec421f6b0bf42ca71f365b1a1e95..edb68e839f4830e722bf187af7e77c9a248551a8:/test/unit/node_tag_test.rb diff --git a/test/unit/node_tag_test.rb b/test/unit/node_tag_test.rb index 9d3da03b1..c4ebd2c6e 100644 --- a/test/unit/node_tag_test.rb +++ b/test/unit/node_tag_test.rb @@ -1,12 +1,10 @@ require File.dirname(__FILE__) + '/../test_helper' -class NodeTagTest < Test::Unit::TestCase - fixtures :current_node_tags, :current_nodes - set_fixture_class :current_nodes => Node - set_fixture_class :current_node_tags => NodeTag +class NodeTagTest < ActiveSupport::TestCase + api_fixtures def test_tag_count - assert_equal 6, NodeTag.count + assert_equal 7, NodeTag.count node_tag_count(:visible_node, 1) node_tag_count(:invisible_node, 1) node_tag_count(:used_node_1, 1) @@ -26,7 +24,7 @@ class NodeTagTest < Test::Unit::TestCase tag.id = current_node_tags(:t1).id tag.k = key*i tag.v = "v" - assert_valid tag + assert tag.valid? end end @@ -37,7 +35,7 @@ class NodeTagTest < Test::Unit::TestCase tag.id = current_node_tags(:t1).id tag.k = "k" tag.v = val*i - assert_valid tag + assert tag.valid? end end @@ -48,7 +46,7 @@ class NodeTagTest < Test::Unit::TestCase tag.k = i tag.v = "v" assert !tag.valid?, "Key should be too long" - assert tag.errors.invalid?(:k) + assert tag.errors[:k].any? end end @@ -59,13 +57,24 @@ class NodeTagTest < Test::Unit::TestCase tag.k = "k" tag.v = i assert !tag.valid?, "Value should be too long" - assert tag.errors.invalid?(:v) + assert tag.errors[:v].any? end end def test_empty_node_tag_invalid tag = NodeTag.new assert !tag.valid?, "Empty tag should be invalid" - assert tag.errors.invalid?(:id) + assert tag.errors[:id].any? + end + + def test_uniqueness + tag = NodeTag.new + tag.id = current_node_tags(:t1).id + tag.k = current_node_tags(:t1).k + tag.v = current_node_tags(:t1).v + assert tag.new_record? + assert !tag.valid? + assert_raise(ActiveRecord::RecordInvalid) {tag.save!} + assert tag.new_record? end end