Files

41 lines
1.1 KiB
Ruby

require "test_helper"
class Card::PinnableTest < ActiveSupport::TestCase
setup do
Current.session = sessions(:david)
end
test "broadcasts pin update when title changes" do
assert_broadcasted_pin_update do
cards(:logo).update!(title: "New title")
end
end
test "broadcasts pin update when column changes" do
assert_broadcasted_pin_update do
cards(:logo).update!(column: columns(:writebook_in_progress))
end
end
test "broadcasts pin update when board changes" do
assert_broadcasted_pin_update do
cards(:logo).update!(board: boards(:private), column: nil)
end
end
test "does not broadcast pin update when other properties change" do
perform_enqueued_jobs do
assert_turbo_stream_broadcasts([ pins(:logo_kevin).user, :pins_tray ], count: 0) do
cards(:logo).update!(last_active_at: Time.current)
end
end
end
private
def assert_broadcasted_pin_update(&block)
perform_enqueued_jobs do
assert_turbo_stream_broadcasts([ pins(:logo_kevin).user, :pins_tray ], &block)
end
end
end