From 81b5a844a2a155e28c497a8ce671eb5f02803e5d Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Sat, 1 Sep 2018 16:07:22 +0200 Subject: Import shardweb --- .../test/shard_web/channels/room_channel_test.exs | 28 ++++++++++++++++++++++ .../shard_web/controllers/page_controller_test.exs | 8 +++++++ shardweb/test/shard_web/views/error_view_test.exs | 16 +++++++++++++ shardweb/test/shard_web/views/layout_view_test.exs | 3 +++ shardweb/test/shard_web/views/page_view_test.exs | 3 +++ 5 files changed, 58 insertions(+) create mode 100644 shardweb/test/shard_web/channels/room_channel_test.exs create mode 100644 shardweb/test/shard_web/controllers/page_controller_test.exs create mode 100644 shardweb/test/shard_web/views/error_view_test.exs create mode 100644 shardweb/test/shard_web/views/layout_view_test.exs create mode 100644 shardweb/test/shard_web/views/page_view_test.exs (limited to 'shardweb/test/shard_web') 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 -- cgit v1.2.3