if current_user.friends_with?(@friend)
flash[:warning] = t ".already_a_friend", :name => @friend.display_name
elsif current_user.friendships.where(:created_at => Time.now.utc - 1.hour..).count >= current_user.max_friends_per_hour
- flash.now[:error] = t ".limit_exceeded"
+ flash[:error] = t ".limit_exceeded"
elsif friendship.save
flash[:notice] = t ".success", :name => @friend.display_name
UserMailer.friendship_notification(friendship).deliver_later
--- /dev/null
+require "application_system_test_case"
+
+class FriendshipsTest < ApplicationSystemTestCase
+ test "show message when max frienships limit is exceeded" do
+ befriendee = create(:user)
+
+ sign_in_as create(:user)
+
+ with_settings(:max_friends_per_hour => 0) do
+ visit user_path(befriendee)
+ assert_link "Add Friend"
+
+ click_on "Add Friend"
+ assert_text "You have friended a lot of users recently"
+ assert_link "Add Friend"
+ end
+ end
+end