From: Andy Allan Date: Wed, 19 Jun 2019 15:03:13 +0000 (+0200) Subject: Use user models, not ids, in assertions X-Git-Tag: live~2525^2 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/cbb3c2bdf0843ad1fb0095cb5c4cefd83eb5507a Use user models, not ids, in assertions --- diff --git a/test/controllers/users_controller_test.rb b/test/controllers/users_controller_test.rb index 298eb9d6d..984ea8d46 100644 --- a/test/controllers/users_controller_test.rb +++ b/test/controllers/users_controller_test.rb @@ -1113,7 +1113,7 @@ class UsersControllerTest < ActionController::TestCase friend = create(:user) # Check that the users aren't already friends - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # When not logged in a GET should ask us to login get :make_friend, :params => { :display_name => friend.display_name } @@ -1122,7 +1122,7 @@ class UsersControllerTest < ActionController::TestCase # When not logged in a POST should error post :make_friend, :params => { :display_name => friend.display_name } assert_response :forbidden - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a GET should get a confirmation page get :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user } @@ -1132,7 +1132,7 @@ class UsersControllerTest < ActionController::TestCase assert_select "input[type='hidden'][name='referer']", 0 assert_select "input[type='submit']", 1 end - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a POST should add the friendship assert_difference "ActionMailer::Base.deliveries.size", 1 do @@ -1142,7 +1142,7 @@ class UsersControllerTest < ActionController::TestCase end assert_redirected_to user_path(friend) assert_match(/is now your friend/, flash[:notice]) - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count assert_equal friend.email, email.to.first @@ -1156,7 +1156,7 @@ class UsersControllerTest < ActionController::TestCase end assert_redirected_to user_path(friend) assert_match(/You are already friends with/, flash[:warning]) - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first end def test_make_friend_with_referer @@ -1165,7 +1165,7 @@ class UsersControllerTest < ActionController::TestCase friend = create(:user) # Check that the users aren't already friends - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # The GET should preserve any referer get :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user } @@ -1175,7 +1175,7 @@ class UsersControllerTest < ActionController::TestCase assert_select "input[type='hidden'][name='referer'][value='/test']", 1 assert_select "input[type='submit']", 1 end - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a POST should add the friendship and refer us assert_difference "ActionMailer::Base.deliveries.size", 1 do @@ -1185,7 +1185,7 @@ class UsersControllerTest < ActionController::TestCase end assert_redirected_to "/test" assert_match(/is now your friend/, flash[:notice]) - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first email = ActionMailer::Base.deliveries.first assert_equal 1, email.to.count assert_equal friend.email, email.to.first @@ -1206,7 +1206,7 @@ class UsersControllerTest < ActionController::TestCase create(:friendship, :befriender => user, :befriendee => friend) # Check that the users are friends - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first # When not logged in a GET should ask us to login get :remove_friend, :params => { :display_name => friend.display_name } @@ -1215,7 +1215,7 @@ class UsersControllerTest < ActionController::TestCase # When not logged in a POST should error post :remove_friend, :params => { :display_name => friend.display_name } assert_response :forbidden - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a GET should get a confirmation page get :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user } @@ -1225,19 +1225,19 @@ class UsersControllerTest < ActionController::TestCase assert_select "input[type='hidden'][name='referer']", 0 assert_select "input[type='submit']", 1 end - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a POST should remove the friendship post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user } assert_redirected_to user_path(friend) assert_match(/was removed from your friends/, flash[:notice]) - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first # A second POST should report that the friendship does not exist post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user } assert_redirected_to user_path(friend) assert_match(/is not one of your friends/, flash[:error]) - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first end def test_remove_friend_with_referer @@ -1247,7 +1247,7 @@ class UsersControllerTest < ActionController::TestCase create(:friendship, :befriender => user, :befriendee => friend) # Check that the users are friends - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first # The GET should preserve any referer get :remove_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user } @@ -1257,13 +1257,13 @@ class UsersControllerTest < ActionController::TestCase assert_select "input[type='hidden'][name='referer'][value='/test']", 1 assert_select "input[type='submit']", 1 end - assert Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert Friendship.where(:befriender => user, :befriendee => friend).first # When logged in a POST should remove the friendship and refer post :remove_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user } assert_redirected_to "/test" assert_match(/was removed from your friends/, flash[:notice]) - assert_nil Friendship.where(:user_id => user.id, :friend_user_id => friend.id).first + assert_nil Friendship.where(:befriender => user, :befriendee => friend).first end def test_remove_friend_unkown_user