aboutsummaryrefslogtreecommitdiff
path: root/shardweb/test/shard_web
diff options
context:
space:
mode:
Diffstat (limited to 'shardweb/test/shard_web')
-rw-r--r--shardweb/test/shard_web/channels/room_channel_test.exs28
-rw-r--r--shardweb/test/shard_web/controllers/page_controller_test.exs8
-rw-r--r--shardweb/test/shard_web/views/error_view_test.exs16
-rw-r--r--shardweb/test/shard_web/views/layout_view_test.exs3
-rw-r--r--shardweb/test/shard_web/views/page_view_test.exs3
5 files changed, 58 insertions, 0 deletions
diff --git a/shardweb/test/shard_web/channels/room_channel_test.exs b/shardweb/test/shard_web/channels/room_channel_test.exs
new file mode 100644
index 0000000..f6241d8
--- /dev/null
+++ b/shardweb/test/shard_web/channels/room_channel_test.exs
@@ -0,0 +1,28 @@
+defmodule ShardWeb.RoomChannelTest do
+ use ShardWeb.ChannelCase
+
+ alias ShardWeb.RoomChannel
+
+ setup do
+ {:ok, _, socket} =
+ socket("user_id", %{some: :assign})
+ |> subscribe_and_join(RoomChannel, "room:lobby")
+
+ {:ok, 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 room: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
diff --git a/shardweb/test/shard_web/controllers/page_controller_test.exs b/shardweb/test/shard_web/controllers/page_controller_test.exs
new file mode 100644
index 0000000..225eb76
--- /dev/null
+++ b/shardweb/test/shard_web/controllers/page_controller_test.exs
@@ -0,0 +1,8 @@
+defmodule ShardWeb.PageControllerTest do
+ use ShardWeb.ConnCase
+
+ test "GET /", %{conn: conn} do
+ conn = get conn, "/"
+ assert html_response(conn, 200) =~ "Welcome to Phoenix!"
+ end
+end
diff --git a/shardweb/test/shard_web/views/error_view_test.exs b/shardweb/test/shard_web/views/error_view_test.exs
new file mode 100644
index 0000000..a174f48
--- /dev/null
+++ b/shardweb/test/shard_web/views/error_view_test.exs
@@ -0,0 +1,16 @@
+defmodule ShardWeb.ErrorViewTest do
+ use ShardWeb.ConnCase, async: true
+
+ # Bring render/3 and render_to_string/3 for testing custom views
+ import Phoenix.View
+
+ test "renders 404.html" do
+ assert render_to_string(ShardWeb.ErrorView, "404.html", []) ==
+ "Not Found"
+ end
+
+ test "renders 500.html" do
+ assert render_to_string(ShardWeb.ErrorView, "500.html", []) ==
+ "Internal Server Error"
+ end
+end
diff --git a/shardweb/test/shard_web/views/layout_view_test.exs b/shardweb/test/shard_web/views/layout_view_test.exs
new file mode 100644
index 0000000..2e94c0e
--- /dev/null
+++ b/shardweb/test/shard_web/views/layout_view_test.exs
@@ -0,0 +1,3 @@
+defmodule ShardWeb.LayoutViewTest do
+ use ShardWeb.ConnCase, async: true
+end
diff --git a/shardweb/test/shard_web/views/page_view_test.exs b/shardweb/test/shard_web/views/page_view_test.exs
new file mode 100644
index 0000000..a4b5ba5
--- /dev/null
+++ b/shardweb/test/shard_web/views/page_view_test.exs
@@ -0,0 +1,3 @@
+defmodule ShardWeb.PageViewTest do
+ use ShardWeb.ConnCase, async: true
+end