Add user permissions for flagging and for giving user feedback

This commit is contained in:
Albert Yi
2018-12-11 16:41:20 -08:00
parent c34df49f0f
commit 4706cae114
10 changed files with 96 additions and 6 deletions

View File

@@ -167,5 +167,22 @@ class PostFlagTest < ActiveSupport::TestCase
end
end
end
context "a user with no_flag=true" do
setup do
travel_to(2.weeks.ago) do
@bob = create(:user, no_flagging: true)
end
end
should "not be able to flag more than 1 post in 24 hours" do
@post_flag = PostFlag.new(post: @post, reason: "aaa", is_resolved: false)
@post_flag.expects(:flag_count_for_creator).returns(1)
assert_difference("PostFlag.count", 0) do
as(@bob) { @post_flag.save }
end
assert_equal(["You cannot flag posts"], @post_flag.errors.full_messages.grep(/cannot flag posts/))
end
end
end
end

View File

@@ -37,6 +37,19 @@ class UserFeedbackTest < ActiveSupport::TestCase
assert_equal(["You cannot submit feedback for yourself"], feedback.errors.full_messages)
end
context "with a no_feedback user" do
setup do
@gold_user = FactoryBot.create(:gold_user, no_feedback: true)
CurrentUser.user = @gold_user
end
should "not validate" do
feedback = FactoryBot.build(:user_feedback, :user => @gold_user)
feedback.save
assert_equal(["You cannot submit feedback"], feedback.errors.full_messages.grep(/^You cannot submit feedback$/))
end
end
should "not validate if the creator is not gold" do
user = FactoryBot.create(:user)
gold = FactoryBot.create(:gold_user)