Files
fizzy/test/channels/application_cable/connection_test.rb
T
Vladimir Dementyev 3832b6230f + connection_test.rb
2025-12-03 16:40:44 +03:00

37 lines
1.1 KiB
Ruby

require "test_helper"
module ApplicationCable
class ConnectionTest < ActionCable::Connection::TestCase
setup do
# Use non-37s account to assess that Current.account is set correctly
@account = accounts(:initech)
@session = sessions(:mike)
end
test "connects with valid session and account info" do
cookies.signed[:session_token] = @session.signed_id
connect "/cable", env: { "fizzy.external_account_id" => @account.external_account_id }
assert_equal users(:mike), connection.current_user
assert_equal @account, Current.account
end
test "rejects with invalid session token" do
cookies.signed[:session_token] = "invalid-session-id"
assert_reject_connection do
connect "/cable", env: { "fizzy.external_account_id" => @account.external_account_id }
end
end
test "rejects when account does not exist" do
cookies.signed[:session_token] = @session.signed_id
assert_reject_connection do
connect "/cable", env: { "fizzy.external_account_id" => -1 }
end
end
end
end