Refactor various controller tests to use factories.
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 31 May 2017 13:35:35 +0000 (14:35 +0100)
committerAndy Allan <git@gravitystorm.co.uk>
Wed, 31 May 2017 13:35:35 +0000 (14:35 +0100)
test/controllers/browse_controller_test.rb
test/controllers/search_controller_test.rb
test/controllers/site_controller_test.rb

index c08f550..7bd1198 100644 (file)
@@ -46,19 +46,19 @@ class BrowseControllerTest < ActionController::TestCase
   end
 
   def test_read_relation
-    browse_check "relation", relations(:visible_relation).relation_id, "browse/feature"
+    browse_check "relation", create(:relation).id, "browse/feature"
   end
 
   def test_read_relation_history
-    browse_check "relation_history", relations(:visible_relation).relation_id, "browse/history"
+    browse_check "relation_history", create(:relation, :with_history).id, "browse/history"
   end
 
   def test_read_way
-    browse_check "way", ways(:visible_way).way_id, "browse/feature"
+    browse_check "way", create(:way).id, "browse/feature"
   end
 
   def test_read_way_history
-    browse_check "way_history", ways(:visible_way).way_id, "browse/history"
+    browse_check "way_history", create(:way, :with_history).id, "browse/history"
   end
 
   def test_read_node
@@ -171,7 +171,13 @@ class BrowseControllerTest < ActionController::TestCase
   end
 
   def test_redacted_way_history
-    get :way_history, :id => ways(:way_with_redacted_versions_v1).way_id
+    way = create(:way, :with_history, :version => 4)
+    way_v1 = way.old_ways.find_by(:version => 1)
+    way_v1.redact!(create(:redaction))
+    way_v3 = way.old_ways.find_by(:version => 3)
+    way_v3.redact!(create(:redaction))
+
+    get :way_history, :id => way.id
     assert_response :success
     assert_template "browse/history"
 
@@ -183,7 +189,13 @@ class BrowseControllerTest < ActionController::TestCase
   end
 
   def test_redacted_relation_history
-    get :relation_history, :id => relations(:relation_with_redacted_versions_v1).relation_id
+    relation = create(:relation, :with_history, :version => 4)
+    relation_v1 = relation.old_relations.find_by(:version => 1)
+    relation_v1.redact!(create(:redaction))
+    relation_v3 = relation.old_relations.find_by(:version => 3)
+    relation_v3.redact!(create(:redaction))
+
+    get :relation_history, :id => relation.id
     assert_response :success
     assert_template "browse/history"
 
index 2e835a5..fd3d162 100644 (file)
@@ -43,10 +43,14 @@ class SearchControllerTest < ActionController::TestCase
   ##
   # test searching ways
   def test_search_ways
-    [:visible_way, :invisible_way, :used_way].each do |way|
-      create(:way_tag, :way => current_ways(way), :k => "test", :v => "yes")
+    first_way = create(:way_with_nodes, :nodes_count => 2)
+    deleted_way = create(:way_with_nodes, :deleted, :nodes_count => 2)
+    third_way = create(:way_with_nodes, :nodes_count => 2)
+
+    [first_way, deleted_way, third_way].each do |way|
+      create(:way_tag, :way => way, :k => "test", :v => "yes")
     end
-    create(:way_tag, :way => current_ways(:used_way), :k => "name", :v => "Test Way")
+    create(:way_tag, :way => third_way, :k => "name", :v => "Test Way")
 
     get :search_ways, :type => "test"
     assert_response :service_unavailable
index a4388ef..681df79 100644 (file)
@@ -254,7 +254,9 @@ class SiteControllerTest < ActionController::TestCase
   # Test editing a specific way
   def test_edit_with_way
     user = create(:user)
-    way  = current_ways(:visible_way)
+    node = create(:node, :lat => 3, :lon => 3)
+    way  = create(:way)
+    create(:way_node, :node => node, :way => way)
 
     get :edit, { :way => way.id }, { :user => user }
     assert_response :success