Files
fizzy/test/controllers/notifications/unsubscribes_controller_test.rb

41 lines
1.1 KiB
Ruby

require "test_helper"
class Notifications::UnsubscribesControllerTest < ActionDispatch::IntegrationTest
setup do
@user = users(:david)
@access_token = @user.generate_token_for(:unsubscribe)
sign_in_as @user
end
test "new" do
get new_notifications_unsubscribe_path(access_token: @access_token)
assert_response :success
end
test "new with bad token" do
get new_notifications_unsubscribe_path(access_token: "bad")
assert_redirected_to root_path
end
test "create" do
@user.reload.settings.bundle_email_every_few_hours!
assert_changes -> { @user.reload.settings.bundle_email_frequency }, to: "never" do
post notifications_unsubscribe_path(access_token: @access_token)
assert_redirected_to notifications_unsubscribe_path(access_token: @access_token)
end
end
test "create with bad token" do
assert_no_changes -> { @user.reload.settings.bundle_email_frequency } do
post notifications_unsubscribe_path(access_token: "bad")
assert_redirected_to root_path
end
end
test "show" do
get notifications_unsubscribe_path(access_token: @access_token)
assert_response :success
end
end