]> git.openstreetmap.org Git - rails.git/blob - test/models/tracetag_test.rb
Improve test coverage
[rails.git] / test / models / tracetag_test.rb
1 require "test_helper"
2
3 class TracetagTest < ActiveSupport::TestCase
4   api_fixtures
5
6   def test_tracetag_count
7     assert_equal 4, Tracetag.count
8   end
9
10   def test_validations
11     tracetag_valid({})
12     tracetag_valid({ :tag => nil }, false)
13     tracetag_valid({ :tag => "" }, false)
14     tracetag_valid(:tag => "a")
15     tracetag_valid(:tag => "a" * 255)
16     tracetag_valid({ :tag => "a" * 256 }, false)
17     tracetag_valid({ :tag => "a/b" }, false)
18     tracetag_valid({ :tag => "a;b" }, false)
19     tracetag_valid({ :tag => "a.b" }, false)
20     tracetag_valid({ :tag => "a,b" }, false)
21     tracetag_valid({ :tag => "a?b" }, false)
22   end
23
24   private
25
26   def tracetag_valid(attrs, result = true)
27     entry = Tracetag.new(gpx_file_tags(:first_trace_1).attributes)
28     entry.assign_attributes(attrs)
29     assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}"
30   end
31 end