44 lines
1.3 KiB
Ruby
44 lines
1.3 KiB
Ruby
require "test_helper"
|
|
|
|
class Cards::ReadingsControllerTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
sign_in_as :kevin
|
|
end
|
|
|
|
test "create" do
|
|
freeze_time
|
|
|
|
assert_changes -> { notifications(:logo_published_kevin).reload.read? }, from: false, to: true do
|
|
assert_changes -> { accesses(:writebook_kevin).reload.accessed_at }, from: nil, to: Time.current do
|
|
post card_reading_url(cards(:logo)), as: :turbo_stream
|
|
end
|
|
end
|
|
|
|
assert_response :success
|
|
end
|
|
|
|
test "read one notification on card visit" do
|
|
assert_changes -> { notifications(:logo_published_kevin).reload.read? }, from: false, to: true do
|
|
post card_reading_path(cards(:logo)), as: :turbo_stream
|
|
end
|
|
|
|
assert_response :success
|
|
end
|
|
|
|
test "read multiple notifications on card visit" do
|
|
assert_changes -> { notifications(:logo_published_kevin).reload.read? }, from: false, to: true do
|
|
assert_changes -> { notifications(:logo_assignment_kevin).reload.read? }, from: false, to: true do
|
|
post card_reading_path(cards(:logo)), as: :turbo_stream
|
|
end
|
|
end
|
|
|
|
assert_response :success
|
|
end
|
|
|
|
test "create opts-out of writer affinity in the load balancer" do
|
|
post card_reading_path(cards(:logo)), as: :turbo_stream
|
|
|
|
assert_equal "false", response.headers["X-Writer-Affinity"]
|
|
end
|
|
end
|