From 63a2f1f1b4ce571d2a3048628fa756fcc7aa1cbb Mon Sep 17 00:00:00 2001 From: Andy Allan Date: Wed, 17 May 2017 11:29:11 +0100 Subject: [PATCH] Refactor some relation_controller tests to use factories. --- test/controllers/relation_controller_test.rb | 82 +++++++++----------- 1 file changed, 38 insertions(+), 44 deletions(-) diff --git a/test/controllers/relation_controller_test.rb b/test/controllers/relation_controller_test.rb index bb8f2d437..19acbc1d5 100644 --- a/test/controllers/relation_controller_test.rb +++ b/test/controllers/relation_controller_test.rb @@ -193,13 +193,17 @@ class RelationControllerTest < ActionController::TestCase # ------------------------------------- def test_create - basic_authorization users(:normal_user).email, "test" + private_user = create(:user, :data_public => false) + private_changeset = create(:changeset, :user => private_user) + user = create(:user) + changeset = create(:changeset, :user => user) + node = create(:node) + way = create(:way_with_nodes, :nodes_count => 2) - # put the relation in a dummy fixture changset - changeset_id = changesets(:normal_user_first_change).id + basic_authorization private_user.email, "test" # create an relation without members - content "" + content "" put :create # hope for forbidden, due to user assert_response :forbidden, @@ -208,9 +212,8 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a node as member # This time try with a role attribute in the relation - nid = current_nodes(:used_node_1).id - content "" + - "" + + content "" + + "" + "" put :create # hope for forbidden due to user @@ -220,9 +223,8 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a node as member, this time test that we don't # need a role attribute to be included - nid = current_nodes(:used_node_1).id - content "" + - "" + "" + content "" + + "" + "" put :create # hope for forbidden due to user assert_response :forbidden, @@ -230,11 +232,9 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a way and a node as members - nid = current_nodes(:used_node_1).id - wid = current_ways(:used_way).id - content "" + - "" + - "" + + content "" + + "" + + "" + "" put :create # hope for forbidden, due to user @@ -242,13 +242,10 @@ class RelationControllerTest < ActionController::TestCase "relation upload did not return success status" ## Now try with the public user - basic_authorization users(:public_user).email, "test" - - # put the relation in a dummy fixture changset - changeset_id = changesets(:public_user_first_change).id + basic_authorization user.email, "test" # create an relation without members - content "" + content "" put :create # hope for success assert_response :success, @@ -263,9 +260,9 @@ class RelationControllerTest < ActionController::TestCase "saved relation contains members but should not" assert_equal checkrelation.tags.length, 1, "saved relation does not contain exactly one tag" - assert_equal changeset_id, checkrelation.changeset.id, + assert_equal changeset.id, checkrelation.changeset.id, "saved relation does not belong in the changeset it was assigned to" - assert_equal users(:public_user).id, checkrelation.changeset.user_id, + assert_equal user.id, checkrelation.changeset.user_id, "saved relation does not belong to user that created it" assert_equal true, checkrelation.visible, "saved relation is not visible" @@ -276,9 +273,8 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a node as member # This time try with a role attribute in the relation - nid = current_nodes(:used_node_1).id - content "" + - "" + + content "" + + "" + "" put :create # hope for success @@ -294,9 +290,9 @@ class RelationControllerTest < ActionController::TestCase "saved relation does not contain exactly one member" assert_equal checkrelation.tags.length, 1, "saved relation does not contain exactly one tag" - assert_equal changeset_id, checkrelation.changeset.id, + assert_equal changeset.id, checkrelation.changeset.id, "saved relation does not belong in the changeset it was assigned to" - assert_equal users(:public_user).id, checkrelation.changeset.user_id, + assert_equal user.id, checkrelation.changeset.user_id, "saved relation does not belong to user that created it" assert_equal true, checkrelation.visible, "saved relation is not visible" @@ -308,9 +304,8 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a node as member, this time test that we don't # need a role attribute to be included - nid = current_nodes(:used_node_1).id - content "" + - "" + "" + content "" + + "" + "" put :create # hope for success assert_response :success, @@ -325,9 +320,9 @@ class RelationControllerTest < ActionController::TestCase "saved relation does not contain exactly one member" assert_equal checkrelation.tags.length, 1, "saved relation does not contain exactly one tag" - assert_equal changeset_id, checkrelation.changeset.id, + assert_equal changeset.id, checkrelation.changeset.id, "saved relation does not belong in the changeset it was assigned to" - assert_equal users(:public_user).id, checkrelation.changeset.user_id, + assert_equal user.id, checkrelation.changeset.user_id, "saved relation does not belong to user that created it" assert_equal true, checkrelation.visible, "saved relation is not visible" @@ -338,11 +333,9 @@ class RelationControllerTest < ActionController::TestCase ### # create an relation with a way and a node as members - nid = current_nodes(:used_node_1).id - wid = current_ways(:used_way).id - content "" + - "" + - "" + + content "" + + "" + + "" + "" put :create # hope for success @@ -358,9 +351,9 @@ class RelationControllerTest < ActionController::TestCase "saved relation does not have exactly two members" assert_equal checkrelation.tags.length, 1, "saved relation does not contain exactly one tag" - assert_equal changeset_id, checkrelation.changeset.id, + assert_equal changeset.id, checkrelation.changeset.id, "saved relation does not belong in the changeset it was assigned to" - assert_equal users(:public_user).id, checkrelation.changeset.user_id, + assert_equal user.id, checkrelation.changeset.user_id, "saved relation does not belong to user that created it" assert_equal true, checkrelation.visible, "saved relation is not visible" @@ -472,14 +465,15 @@ class RelationControllerTest < ActionController::TestCase # Test creating a relation, with some invalid XML # ------------------------------------- def test_create_invalid_xml - basic_authorization users(:public_user).email, "test" + user = create(:user) + changeset = create(:changeset, :user => user) + node = create(:node) - # put the relation in a dummy fixture changeset that works - changeset_id = changesets(:public_user_first_change).id + basic_authorization user.email, "test" # create some xml that should return an error - content "" + - "" + + content "" + + "" + "" put :create # expect failure -- 2.43.2