41 lines
1.1 KiB
Ruby
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
|