eBooru/test/unit/user_feedback_test.rb

59 lines
1.7 KiB
Ruby
Raw Permalink Normal View History

# frozen_string_literal: true
require "test_helper"
2010-02-19 17:30:11 -05:00
class UserFeedbackTest < ActiveSupport::TestCase
2010-02-19 18:04:43 -05:00
context "A user's feedback" do
setup do
2022-02-10 11:58:20 -05:00
@user = create(:user)
@mod = create(:moderator_user)
2024-01-04 15:31:54 -05:00
@admin = create(:admin_user)
2022-02-10 11:58:20 -05:00
CurrentUser.user = @mod
end
2013-03-01 09:27:48 -05:00
should "create a dmail" do
2024-01-04 15:31:54 -05:00
dmail = <<~DMAIL.chomp
#{@mod.name} created a "positive record":/user_feedbacks?search[user_id]=#{@user.id} for your account:
good job!
2024-01-04 15:31:54 -05:00
DMAIL
2017-04-04 15:25:03 -04:00
assert_difference("Dmail.count", 1) do
create(:user_feedback, user: @user, body: "good job!")
2024-01-04 15:31:54 -05:00
assert_equal(dmail, @user.dmails.first.body)
end
end
should "correctly credit the updater" do
feedback = create(:user_feedback, user: @user, body: "good job!")
dmail = <<~DMAIL.chomp
#{@admin.name} updated a "positive record":/user_feedbacks?search[user_id]=#{@user.id} for your account:
great job!
DMAIL
assert_difference("Dmail.count", 1) do
CurrentUser.scoped(@admin) do
feedback.update(body: "great job!", send_update_dmail: true)
end
assert_equal(dmail, @user.dmails.first.body)
2013-03-01 09:27:48 -05:00
end
end
2013-03-22 20:36:34 -04:00
should "not validate if the creator is the user" do
feedback = build(:user_feedback, user: @mod)
2013-03-22 20:36:34 -04:00
feedback.save
assert_equal(["You cannot submit feedback for yourself"], feedback.errors.full_messages)
end
2013-03-19 08:10:10 -04:00
2022-02-10 11:58:20 -05:00
should "not validate if the creator has no permissions" do
privileged = create(:privileged_user)
2013-03-19 08:10:10 -04:00
CurrentUser.user = privileged
feedback = build(:user_feedback, user: @user)
2010-02-19 18:04:43 -05:00
feedback.save
2022-02-10 11:58:20 -05:00
assert_equal(["You must be moderator"], feedback.errors.full_messages)
2010-02-19 18:04:43 -05:00
end
2010-02-19 17:30:11 -05:00
end
end