1 # frozen_string_literal: true
5 class WayTagTest < ActiveSupport::TestCase
6 def test_length_key_valid
10 assert_predicate tag, :valid?
14 def test_length_value_valid
15 tag = create(:way_tag)
18 assert_predicate tag, :valid?
22 def test_length_key_invalid
23 tag = create(:way_tag)
25 assert_not_predicate tag, :valid?, "Key should be too long"
26 assert_predicate tag.errors[:k], :any?
29 def test_length_value_invalid
30 tag = create(:way_tag)
32 assert_not_predicate tag, :valid?, "Value should be too long"
33 assert_predicate tag.errors[:v], :any?
36 def test_orphaned_tag_invalid
37 tag = create(:way_tag)
39 assert_not_predicate tag, :valid?, "Orphaned tag should be invalid"
40 assert_predicate tag.errors[:way], :any?
44 existing = create(:way_tag)
45 tag = build(:way_tag, :way => existing.way, :k => existing.k, :v => existing.v)
46 tag.way_id = existing.way_id
49 assert_predicate tag, :new_record?
50 assert_not_predicate tag, :valid?
51 assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
52 assert_predicate tag, :new_record?