This commit is contained in:
Rüdiger Diedrich
2024-01-20 19:10:56 +01:00
commit 5e6035ac46
936 changed files with 5995 additions and 0 deletions

View File

@ -0,0 +1,14 @@
defmodule WebmonWeb.ErrorHTMLTest do
use WebmonWeb.ConnCase, async: true
# Bring render_to_string/4 for testing custom views
import Phoenix.Template
test "renders 404.html" do
assert render_to_string(WebmonWeb.ErrorHTML, "404", "html", []) == "Not Found"
end
test "renders 500.html" do
assert render_to_string(WebmonWeb.ErrorHTML, "500", "html", []) == "Internal Server Error"
end
end

View File

@ -0,0 +1,12 @@
defmodule WebmonWeb.ErrorJSONTest do
use WebmonWeb.ConnCase, async: true
test "renders 404" do
assert WebmonWeb.ErrorJSON.render("404.json", %{}) == %{errors: %{detail: "Not Found"}}
end
test "renders 500" do
assert WebmonWeb.ErrorJSON.render("500.json", %{}) ==
%{errors: %{detail: "Internal Server Error"}}
end
end

View File

@ -0,0 +1,8 @@
defmodule WebmonWeb.PageControllerTest do
use WebmonWeb.ConnCase
test "GET /", %{conn: conn} do
conn = get(conn, ~p"/")
assert html_response(conn, 200) =~ "Peace of mind from prototype to production"
end
end

View File

@ -0,0 +1,113 @@
defmodule WebmonWeb.WebsiteLiveTest do
use WebmonWeb.ConnCase
import Phoenix.LiveViewTest
import Webmon.MonitorFixtures
@create_attrs %{name: "some name", url: "some url"}
@update_attrs %{name: "some updated name", url: "some updated url"}
@invalid_attrs %{name: nil, url: nil}
defp create_website(_) do
website = website_fixture()
%{website: website}
end
describe "Index" do
setup [:create_website]
test "lists all websites", %{conn: conn, website: website} do
{:ok, _index_live, html} = live(conn, ~p"/websites")
assert html =~ "Listing Websites"
assert html =~ website.name
end
test "saves new website", %{conn: conn} do
{:ok, index_live, _html} = live(conn, ~p"/websites")
assert index_live |> element("a", "New Website") |> render_click() =~
"New Website"
assert_patch(index_live, ~p"/websites/new")
assert index_live
|> form("#website-form", website: @invalid_attrs)
|> render_change() =~ "can't be blank"
assert index_live
|> form("#website-form", website: @create_attrs)
|> render_submit()
assert_patch(index_live, ~p"/websites")
html = render(index_live)
assert html =~ "Website created successfully"
assert html =~ "some name"
end
test "updates website in listing", %{conn: conn, website: website} do
{:ok, index_live, _html} = live(conn, ~p"/websites")
assert index_live |> element("#websites-#{website.id} a", "Edit") |> render_click() =~
"Edit Website"
assert_patch(index_live, ~p"/websites/#{website}/edit")
assert index_live
|> form("#website-form", website: @invalid_attrs)
|> render_change() =~ "can't be blank"
assert index_live
|> form("#website-form", website: @update_attrs)
|> render_submit()
assert_patch(index_live, ~p"/websites")
html = render(index_live)
assert html =~ "Website updated successfully"
assert html =~ "some updated name"
end
test "deletes website in listing", %{conn: conn, website: website} do
{:ok, index_live, _html} = live(conn, ~p"/websites")
assert index_live |> element("#websites-#{website.id} a", "Delete") |> render_click()
refute has_element?(index_live, "#websites-#{website.id}")
end
end
describe "Show" do
setup [:create_website]
test "displays website", %{conn: conn, website: website} do
{:ok, _show_live, html} = live(conn, ~p"/websites/#{website}")
assert html =~ "Show Website"
assert html =~ website.name
end
test "updates website within modal", %{conn: conn, website: website} do
{:ok, show_live, _html} = live(conn, ~p"/websites/#{website}")
assert show_live |> element("a", "Edit") |> render_click() =~
"Edit Website"
assert_patch(show_live, ~p"/websites/#{website}/show/edit")
assert show_live
|> form("#website-form", website: @invalid_attrs)
|> render_change() =~ "can't be blank"
assert show_live
|> form("#website-form", website: @update_attrs)
|> render_submit()
assert_patch(show_live, ~p"/websites/#{website}")
html = render(show_live)
assert html =~ "Website updated successfully"
assert html =~ "some updated name"
end
end
end