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
 |