1 # frozen_string_literal: true
3 require "application_system_test_case"
5 class NotificationPreferencesTest < ApplicationSystemTestCase
6 test "toggling preferences" do
7 ActionMailer::Base.deliveries.clear
12 visit notification_preferences_path
14 assert_selector ".notification_preferences input:checked", :count => 7
16 follow1 = create(:follow, :following => user)
17 perform_enqueued_jobs do
18 NewFollowerNotifier.with(:record => follow1).deliver
20 email = ActionMailer::Base.deliveries.first
21 assert_equal 1, email.to.count
22 assert_equal user.email, email.to.first
23 ActionMailer::Base.deliveries.clear
25 uncheck "user_notification_preferences_new_follower_email"
26 uncheck "user_notification_preferences_gpx_import_success_email"
27 click_on "Update Preferences"
29 assert_selector ".notification_preferences input:checked", :count => 5
30 assert_selector "input#user_notification_preferences_new_follower_email:not(checked)"
32 follow2 = create(:follow, :following => user)
33 perform_enqueued_jobs do
34 NewFollowerNotifier.with(:record => follow2).deliver
36 assert_empty ActionMailer::Base.deliveries