Add tests & factories for UserMute feature
This commit is contained in:
parent
efc61f1315
commit
d0ec5d1437
6 changed files with 158 additions and 0 deletions
44
test/system/user_muting_test.rb
Normal file
44
test/system/user_muting_test.rb
Normal file
|
@ -0,0 +1,44 @@
|
|||
require "application_system_test_case"
|
||||
|
||||
class UserMutingTest < ApplicationSystemTestCase
|
||||
# NB: loads helpers to verify mailer-related behaviour e.g. via assert_no_emails
|
||||
include ActionMailer::TestHelper
|
||||
|
||||
test "users can mute and unmute other users" do
|
||||
user = create(:user)
|
||||
other_user = create(:user)
|
||||
sign_in_as(user)
|
||||
|
||||
visit user_path(other_user)
|
||||
click_link "Mute this User"
|
||||
assert_content "You muted #{other_user.display_name}"
|
||||
|
||||
visit edit_account_path
|
||||
assert_content "Muted Users"
|
||||
click_link "Muted Users"
|
||||
assert_content "You have muted 1 User"
|
||||
click_link "Unmute"
|
||||
|
||||
assert_content "You unmuted #{other_user.display_name}"
|
||||
refute_content "Muted Users"
|
||||
assert_current_path edit_account_path
|
||||
end
|
||||
|
||||
test "messages sent by muted users are set `muted` and do not cause notification emails" do
|
||||
user = create(:user)
|
||||
muted_user = create(:user)
|
||||
create(:user_mute, :owner => user, :subject => muted_user)
|
||||
sign_in_as(muted_user)
|
||||
|
||||
visit new_message_path(user)
|
||||
fill_in "Subject", :with => "Hey Hey"
|
||||
fill_in "Body", :with => "some message"
|
||||
|
||||
assert_no_emails do
|
||||
click_button "Send"
|
||||
end
|
||||
|
||||
message = Message.find_by(:sender => muted_user, :recipient => user)
|
||||
assert_predicate message, :muted?
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue