Relation Tag testing. Also sort the belong_to/has_many for user/changeset/old_way.
This commit is contained in:
parent
96dfe22fb0
commit
b7b2b502cf
6 changed files with 144 additions and 3 deletions
|
@ -1,5 +1,5 @@
|
|||
class OldWayTag < ActiveRecord::Base
|
||||
belongs_to :user
|
||||
belongs_to :old_way
|
||||
|
||||
set_table_name 'way_tags'
|
||||
|
||||
|
|
|
@ -3,4 +3,8 @@ class RelationTag < ActiveRecord::Base
|
|||
|
||||
belongs_to :relation, :foreign_key => 'id'
|
||||
|
||||
validates_presence_of :id
|
||||
validates_length_of :k, :v, :maximum => 255, :allow_blank => true
|
||||
validates_uniqueness_of :id, :scope => :k
|
||||
validates_numericality_of :id, :only_integer => true
|
||||
end
|
||||
|
|
|
@ -9,6 +9,7 @@ class User < ActiveRecord::Base
|
|||
has_many :friends, :include => :befriendee, :conditions => ["users.visible = ?", true]
|
||||
has_many :tokens, :class_name => "UserToken"
|
||||
has_many :preferences, :class_name => "UserPreference"
|
||||
has_many :changesets
|
||||
|
||||
validates_presence_of :email, :display_name
|
||||
validates_confirmation_of :email, :message => 'Email addresses must match'
|
||||
|
|
76
test/unit/old_relation_tag_test.rb
Normal file
76
test/unit/old_relation_tag_test.rb
Normal file
|
@ -0,0 +1,76 @@
|
|||
require File.dirname(__FILE__) + '/../test_helper'
|
||||
|
||||
class RelationTagTest < Test::Unit::TestCase
|
||||
fixtures :relation_tags
|
||||
set_fixture_class :relation_tags => OldRelationTag
|
||||
|
||||
def test_tag_count
|
||||
assert_equal 3, OldRlationTag.count
|
||||
end
|
||||
|
||||
def test_length_key_valid
|
||||
key = "k"
|
||||
(0..255).each do |i|
|
||||
tag = OldRelationTag.new
|
||||
tag.id = relation_tags(:t1).id
|
||||
tag.version = 1
|
||||
tag.k = key*i
|
||||
tag.v = "v"
|
||||
assert_valid tag
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_value_valid
|
||||
val = "v"
|
||||
(0..255).each do |i|
|
||||
tag = OldRelationTag.new
|
||||
tag.id = relation_tags(:t1).id
|
||||
tag.version = 1
|
||||
tag.k = "k"
|
||||
tag.v = val*i
|
||||
assert_valid tag
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_key_invalid
|
||||
["k"*256].each do |i|
|
||||
tag = OldRelationTag.new
|
||||
tag.id = relation_tags(:t1).id
|
||||
tag.version = 1
|
||||
tag.k = i
|
||||
tag.v = "v"
|
||||
assert !tag.valid?, "Key should be too long"
|
||||
assert tag.errors.invalid?(:k)
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_value_invalid
|
||||
["k"*256].each do |i|
|
||||
tag = OldRelationTag.new
|
||||
tag.id = relation_tags(:t1).id
|
||||
tag.version = 1
|
||||
tag.k = "k"
|
||||
tag.v = i
|
||||
assert !tag.valid?, "Value should be too long"
|
||||
assert tag.errors.invalid?(:v)
|
||||
end
|
||||
end
|
||||
|
||||
def test_empty_node_tag_invalid
|
||||
tag = OldRelationTag.new
|
||||
assert !tag.valid?, "Empty tag should be invalid"
|
||||
assert tag.errors.invalid?(:id)
|
||||
end
|
||||
|
||||
def test_uniqueness
|
||||
tag = OldRelationTag.new
|
||||
tag.id = relation_tags(:t1).id
|
||||
tag.version = relation_tags(:t1).version
|
||||
tag.k = relation_tags(:t1).k
|
||||
tag.v = relation_tags(:t1).v
|
||||
assert tag.new_record?
|
||||
assert !tag.valid?
|
||||
assert_raise(ActiveRecord::RecordInvalid) {tag.save!}
|
||||
assert tag.new_record?
|
||||
end
|
||||
end
|
|
@ -8,4 +8,64 @@ class RelationTagTest < Test::Unit::TestCase
|
|||
assert_equal 3, RelationTag.count
|
||||
end
|
||||
|
||||
def test_length_key_valid
|
||||
key = "k"
|
||||
(0..255).each do |i|
|
||||
tag = RelationTag.new
|
||||
tag.id = 1
|
||||
tag.k = key*i
|
||||
tag.v = "v"
|
||||
assert_valid tag
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_value_valid
|
||||
val = "v"
|
||||
(0..255).each do |i|
|
||||
tag = RelationTag.new
|
||||
tag.id = 1
|
||||
tag.k = "k"
|
||||
tag.v = val*i
|
||||
assert_valid tag
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_key_invalid
|
||||
["k"*256].each do |i|
|
||||
tag = RelationTag.new
|
||||
tag.id = 1
|
||||
tag.k = i
|
||||
tag.v = "v"
|
||||
assert !tag.valid?, "Key #{i} should be too long"
|
||||
assert tag.errors.invalid?(:k)
|
||||
end
|
||||
end
|
||||
|
||||
def test_length_value_invalid
|
||||
["v"*256].each do |i|
|
||||
tag = RelationTag.new
|
||||
tag.id = 1
|
||||
tag.k = "k"
|
||||
tag.v = i
|
||||
assert !tag.valid?, "Value #{i} should be too long"
|
||||
assert tag.errors.invalid?(:v)
|
||||
end
|
||||
end
|
||||
|
||||
def test_empty_tag_invalid
|
||||
tag = RelationTag.new
|
||||
assert !tag.valid?, "Empty relation tag should be invalid"
|
||||
assert tag.errors.invalid?(:id)
|
||||
end
|
||||
|
||||
def test_uniquness
|
||||
tag = RelationTag.new
|
||||
tag.id = current_relation_tags(:t1).id
|
||||
tag.k = current_relation_tags(:t1).k
|
||||
tag.v = current_relation_tags(:t1).v
|
||||
assert tag.new_record?
|
||||
assert !tag.valid?
|
||||
assert_raise(ActiveRecord::RecordInvalid) {tag.save!}
|
||||
assert tag.new_record?
|
||||
end
|
||||
end
|
||||
|
|
|
@ -42,7 +42,7 @@ class WayTagTest < Test::Unit::TestCase
|
|||
end
|
||||
|
||||
def test_length_value_invalid
|
||||
["k"*256].each do |i|
|
||||
["v"*256].each do |i|
|
||||
tag = WayTag.new
|
||||
tag.id = current_way_tags(:t1).id
|
||||
tag.k = "k"
|
||||
|
@ -57,7 +57,7 @@ class WayTagTest < Test::Unit::TestCase
|
|||
assert tag.errors.invalid?(:id)
|
||||
end
|
||||
|
||||
def test_uniquess
|
||||
def test_uniquness
|
||||
tag = WayTag.new
|
||||
tag.id = current_way_tags(:t1).id
|
||||
tag.k = current_way_tags(:t1).k
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue