1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-04-15 09:27:03 +00:00
Files
wrestlingdev.com/test/channels/mat_scoreboard_channel_test.rb

111 lines
3.1 KiB
Ruby

require "test_helper"
class MatScoreboardChannelTest < ActionCable::Channel::TestCase
setup do
@mat = mats(:one)
@match = matches(:tournament_1_bout_1000)
@alternate_match = matches(:tournament_1_bout_1001)
Rails.cache.clear
@mat.update!(queue1: @match.id, queue2: @alternate_match.id, queue3: nil, queue4: nil)
@mat.set_selected_scoreboard_match!(@match)
@mat.set_last_match_result!("106 lbs - Example Winner Decision Example Loser 3-1")
end
test "subscribes to a valid mat stream and transmits scoreboard payload" do
subscribe(mat_id: @mat.id)
assert subscription.confirmed?
assert_has_stream_for @mat
assert_equal(
{
"mat_id" => @mat.id,
"queue1_bout_number" => @match.bout_number,
"queue1_match_id" => @match.id,
"selected_bout_number" => @match.bout_number,
"selected_match_id" => @match.id,
"last_match_result" => "106 lbs - Example Winner Decision Example Loser 3-1"
},
transmissions.last
)
end
test "rejects subscription for an invalid mat" do
subscribe(mat_id: -1)
assert subscription.rejected?
end
test "transmits payload with queue1 and no selected match" do
@mat.set_selected_scoreboard_match!(nil)
subscribe(mat_id: @mat.id)
assert_equal(
{
"mat_id" => @mat.id,
"queue1_bout_number" => @match.bout_number,
"queue1_match_id" => @match.id,
"selected_bout_number" => nil,
"selected_match_id" => nil,
"last_match_result" => "106 lbs - Example Winner Decision Example Loser 3-1"
},
transmissions.last
)
end
test "transmits payload when selected match differs from queue1" do
@mat.set_selected_scoreboard_match!(@alternate_match)
subscribe(mat_id: @mat.id)
assert_equal(
{
"mat_id" => @mat.id,
"queue1_bout_number" => @match.bout_number,
"queue1_match_id" => @match.id,
"selected_bout_number" => @alternate_match.bout_number,
"selected_match_id" => @alternate_match.id,
"last_match_result" => "106 lbs - Example Winner Decision Example Loser 3-1"
},
transmissions.last
)
end
test "transmits payload when no queue1 match exists" do
@mat.update!(queue1: nil, queue2: nil, queue3: nil, queue4: nil)
@mat.set_selected_scoreboard_match!(nil)
subscribe(mat_id: @mat.id)
assert_equal(
{
"mat_id" => @mat.id,
"queue1_bout_number" => nil,
"queue1_match_id" => nil,
"selected_bout_number" => nil,
"selected_match_id" => nil,
"last_match_result" => "106 lbs - Example Winner Decision Example Loser 3-1"
},
transmissions.last
)
end
test "transmits payload with blank last match result" do
@mat.set_last_match_result!(nil)
subscribe(mat_id: @mat.id)
assert_equal(
{
"mat_id" => @mat.id,
"queue1_bout_number" => @match.bout_number,
"queue1_match_id" => @match.id,
"selected_bout_number" => @match.bout_number,
"selected_match_id" => @match.id,
"last_match_result" => nil
},
transmissions.last
)
end
end