28 lines
828 B
Elixir
28 lines
828 B
Elixir
|
defmodule <%= module %>ChannelTest do
|
||
|
use <%= web_module %>.ChannelCase
|
||
|
|
||
|
setup do
|
||
|
{:ok, _, socket} =
|
||
|
<%= web_module %>.UserSocket
|
||
|
|> socket("user_id", %{some: :assign})
|
||
|
|> subscribe_and_join(<%= module %>Channel, "<%= singular %>:lobby")
|
||
|
|
||
|
%{socket: socket}
|
||
|
end
|
||
|
|
||
|
test "ping replies with status ok", %{socket: socket} do
|
||
|
ref = push(socket, "ping", %{"hello" => "there"})
|
||
|
assert_reply ref, :ok, %{"hello" => "there"}
|
||
|
end
|
||
|
|
||
|
test "shout broadcasts to <%= singular %>:lobby", %{socket: socket} do
|
||
|
push(socket, "shout", %{"hello" => "all"})
|
||
|
assert_broadcast "shout", %{"hello" => "all"}
|
||
|
end
|
||
|
|
||
|
test "broadcasts are pushed to the client", %{socket: socket} do
|
||
|
broadcast_from!(socket, "broadcast", %{"some" => "data"})
|
||
|
assert_push "broadcast", %{"some" => "data"}
|
||
|
end
|
||
|
end
|