Replace fixtures with a factory for old_relation_tags
authorAndy Allan <git@gravitystorm.co.uk>
Sun, 30 Oct 2016 15:32:11 +0000 (16:32 +0100)
committerAndy Allan <git@gravitystorm.co.uk>
Sun, 30 Oct 2016 15:32:11 +0000 (16:32 +0100)
test/factories/old_relation_tags.rb [new file with mode: 0644]
test/fixtures/relation_tags.yml [deleted file]
test/models/old_relation_tag_test.rb
test/models/old_relation_test.rb
test/test_helper.rb

diff --git a/test/factories/old_relation_tags.rb b/test/factories/old_relation_tags.rb
new file mode 100644 (file)
index 0000000..08e4171
--- /dev/null
@@ -0,0 +1,10 @@
+FactoryGirl.define do
+  factory :old_relation_tag do
+    sequence(:k) { |n| "Key #{n}" }
+    sequence(:v) { |n| "Value #{n}" }
+
+    # Fixme requires old_relation factory
+    relation_id 1
+    version 1
+  end
+end
diff --git a/test/fixtures/relation_tags.yml b/test/fixtures/relation_tags.yml
deleted file mode 100644 (file)
index daf3c6d..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-t1:
-  relation_id: 1
-  k: 'test'
-  v: 'yes'
-  version: 1
-
-t2:
-  relation_id: 2
-  k: 'test'
-  v: 'yes'
-  version: 1
-
-t3:
-  relation_id: 3
-  k: 'test'
-  v: 'yes'
-  version: 1
-
-t3_2:
-  relation_id: 3
-  k: 'name'
-  v: 'Test Relation'
-  version: 1
-
-mt_1:
-  relation_id: 4
-  k: 'tag1'
-  v: 'val1'
-  version: 1
-
-mt_2:
-  relation_id: 4
-  k: 'tag2'
-  v: 'val2'
-  version: 1
-
-mt_3:
-  relation_id: 4
-  k: 'tag3'
-  v: 'val3'
-  version: 1
-
-mt_4:
-  relation_id: 4
-  k: 'tag4'
-  v: 'val4'
-  version: 1
-
-rv3_t1:
-  relation_id: 8
-  k: 'testing'
-  v: 'added in relation version 3'
-  version: 3
-
-rv3_t2:
-  relation_id: 8
-  k: 'testing two'
-  v: 'added in relation version 3'
-  version: 3
-
-rv3_t3:
-  relation_id: 8
-  k: 'testing three'
-  v: 'added in relation version 3'
-  version: 3
-
-rv4_t1:
-  relation_id: 8
-  k: 'testing'
-  v: 'added in relation version 3'
-  version: 4
-
-rv4_t2:
-  relation_id: 8
-  k: 'testing two'
-  v: 'modified in relation version 4'
-  version: 4
index 2c9638a..58c70cc 100644 (file)
@@ -1,58 +1,34 @@
 require "test_helper"
 
 class OldRelationTagTest < ActiveSupport::TestCase
-  api_fixtures
-
-  def test_tag_count
-    assert_equal 13, OldRelationTag.count
-  end
-
   def test_length_key_valid
-    key = "k"
+    tag = create(:old_relation_tag)
     (0..255).each do |i|
-      tag = OldRelationTag.new
-      tag.relation_id = relation_tags(:t1).relation_id
-      tag.version = 1
-      tag.k = key * i
-      tag.v = "v"
+      tag.k = "k" * i
       assert tag.valid?
     end
   end
 
   def test_length_value_valid
-    val = "v"
+    tag = create(:old_relation_tag)
     (0..255).each do |i|
-      tag = OldRelationTag.new
-      tag.relation_id = relation_tags(:t1).relation_id
-      tag.version = 1
-      tag.k = "k"
-      tag.v = val * i
+      tag.v = "v" * i
       assert tag.valid?
     end
   end
 
   def test_length_key_invalid
-    ["k" * 256].each do |i|
-      tag = OldRelationTag.new
-      tag.relation_id = relation_tags(:t1).relation_id
-      tag.version = 1
-      tag.k = i
-      tag.v = "v"
-      assert !tag.valid?, "Key should be too long"
-      assert tag.errors[:k].any?
-    end
+    tag = create(:old_relation_tag)
+    tag.k = "k" * 256
+    assert !tag.valid?, "Key should be too long"
+    assert tag.errors[:k].any?
   end
 
   def test_length_value_invalid
-    ["k" * 256].each do |i|
-      tag = OldRelationTag.new
-      tag.relation_id = relation_tags(:t1).relation_id
-      tag.version = 1
-      tag.k = "k"
-      tag.v = i
-      assert !tag.valid?, "Value should be too long"
-      assert tag.errors[:v].any?
-    end
+    tag = create(:old_relation_tag)
+    tag.v = "v" * 256
+    assert !tag.valid?, "Value should be too long"
+    assert tag.errors[:v].any?
   end
 
   def test_empty_tag_invalid
@@ -62,11 +38,12 @@ class OldRelationTagTest < ActiveSupport::TestCase
   end
 
   def test_uniqueness
+    existing = create(:old_relation_tag)
     tag = OldRelationTag.new
-    tag.relation_id = relation_tags(:t1).relation_id
-    tag.version = relation_tags(:t1).version
-    tag.k = relation_tags(:t1).k
-    tag.v = relation_tags(:t1).v
+    tag.relation_id = existing.relation_id
+    tag.version = existing.version
+    tag.k = existing.k
+    tag.v = existing.v
     assert tag.new_record?
     assert !tag.valid?
     assert_raise(ActiveRecord::RecordInvalid) { tag.save! }
index c11cdcf..8b7b5e1 100644 (file)
@@ -8,6 +8,9 @@ class OldRelationTest < ActiveSupport::TestCase
   end
 
   def test_relation_tags
+    taglist_v3 = create_list(:old_relation_tag, 3, :old_relation => relations(:relation_with_versions_v3))
+    taglist_v4 = create_list(:old_relation_tag, 2, :old_relation => relations(:relation_with_versions_v4))
+
     relation = relations(:relation_with_versions_v1)
     tags = OldRelation.find(relation.id).old_tags.order(:k)
     assert_equal 0, tags.count
@@ -19,20 +22,18 @@ class OldRelationTest < ActiveSupport::TestCase
     relation = relations(:relation_with_versions_v3)
     tags = OldRelation.find(relation.id).old_tags.order(:k)
     assert_equal 3, tags.count
-    assert_equal "testing", tags[0].k
-    assert_equal "added in relation version 3", tags[0].v
-    assert_equal "testing three", tags[1].k
-    assert_equal "added in relation version 3", tags[1].v
-    assert_equal "testing two", tags[2].k
-    assert_equal "added in relation version 3", tags[2].v
+    taglist_v3.sort_by!(&:k).each_index do |i|
+      assert_equal taglist_v3[i].k, tags[i].k
+      assert_equal taglist_v3[i].v, tags[i].v
+    end
 
     relation = relations(:relation_with_versions_v4)
     tags = OldRelation.find(relation.id).old_tags.order(:k)
     assert_equal 2, tags.count
-    assert_equal "testing", tags[0].k
-    assert_equal "added in relation version 3", tags[0].v
-    assert_equal "testing two", tags[1].k
-    assert_equal "modified in relation version 4", tags[1].v
+    taglist_v4.sort_by!(&:k).each_index do |i|
+      assert_equal taglist_v4[i].k, tags[i].k
+      assert_equal taglist_v4[i].v, tags[i].v
+    end
   end
 
   def test_relation_members
@@ -100,6 +101,9 @@ class OldRelationTest < ActiveSupport::TestCase
   end
 
   def test_tags
+    taglist_v3 = create_list(:old_relation_tag, 3, :old_relation => relations(:relation_with_versions_v3))
+    taglist_v4 = create_list(:old_relation_tag, 2, :old_relation => relations(:relation_with_versions_v4))
+
     relation = relations(:relation_with_versions_v1)
     tags = OldRelation.find(relation.id).tags
     assert_equal 0, tags.size
@@ -111,14 +115,15 @@ class OldRelationTest < ActiveSupport::TestCase
     relation = relations(:relation_with_versions_v3)
     tags = OldRelation.find(relation.id).tags
     assert_equal 3, tags.size
-    assert_equal "added in relation version 3", tags["testing"]
-    assert_equal "added in relation version 3", tags["testing two"]
-    assert_equal "added in relation version 3", tags["testing three"]
+    taglist_v3.each do |tag|
+      assert_equal tag.v, tags[tag.k]
+    end
 
     relation = relations(:relation_with_versions_v4)
     tags = OldRelation.find(relation.id).tags
     assert_equal 2, tags.size
-    assert_equal "added in relation version 3", tags["testing"]
-    assert_equal "modified in relation version 4", tags["testing two"]
+    taglist_v4.each do |tag|
+      assert_equal tag.v, tags[tag.k]
+    end
   end
 end
index df01a32..933f040 100644 (file)
@@ -46,9 +46,8 @@ module ActiveSupport
       fixtures :relations
       set_fixture_class :relations => OldRelation
 
-      fixtures :relation_members, :relation_tags
+      fixtures :relation_members
       set_fixture_class :relation_members => OldRelationMember
-      set_fixture_class :relation_tags => OldRelationTag
 
       fixtures :gpx_files, :gps_points, :gpx_file_tags
       set_fixture_class :gpx_files => Trace