defmodule OutlookWeb.ArtikelControllerTest do use OutlookWeb.ConnCase # TODO: make this work import Outlook.PublicFixtures @create_attrs %{date: "some date", public_content: "some public_content", teaser: "some teaser", title: "some title", translator: "some translator", unauthorized: true} @update_attrs %{date: "some updated date", public_content: "some updated public_content", teaser: "some updated teaser", title: "some updated title", translator: "some updated translator", unauthorized: false} @invalid_attrs %{date: nil, public_content: nil, teaser: nil, title: nil, translator: nil, unauthorized: nil} describe "index" do test "lists all artikel", %{conn: conn} do conn = get(conn, ~p"/artikel") assert html_response(conn, 200) =~ "Listing Artikel" end end describe "new artikel" do test "renders form", %{conn: conn} do conn = get(conn, ~p"/artikel/new") assert html_response(conn, 200) =~ "New Artikel" end end describe "create artikel" do test "redirects to show when data is valid", %{conn: conn} do conn = post(conn, ~p"/artikel", artikel: @create_attrs) assert %{id: id} = redirected_params(conn) assert redirected_to(conn) == ~p"/artikel/#{id}" conn = get(conn, ~p"/artikel/#{id}") assert html_response(conn, 200) =~ "Artikel #{id}" end test "renders errors when data is invalid", %{conn: conn} do conn = post(conn, ~p"/artikel", artikel: @invalid_attrs) assert html_response(conn, 200) =~ "New Artikel" end end describe "edit artikel" do setup [:create_artikel] test "renders form for editing chosen artikel", %{conn: conn, artikel: artikel} do conn = get(conn, ~p"/artikel/#{artikel}/edit") assert html_response(conn, 200) =~ "Edit Artikel" end end describe "update artikel" do setup [:create_artikel] test "redirects when data is valid", %{conn: conn, artikel: artikel} do conn = put(conn, ~p"/artikel/#{artikel}", artikel: @update_attrs) assert redirected_to(conn) == ~p"/artikel/#{artikel}" conn = get(conn, ~p"/artikel/#{artikel}") assert html_response(conn, 200) =~ "some updated date" end test "renders errors when data is invalid", %{conn: conn, artikel: artikel} do conn = put(conn, ~p"/artikel/#{artikel}", artikel: @invalid_attrs) assert html_response(conn, 200) =~ "Edit Artikel" end end describe "delete artikel" do setup [:create_artikel] test "deletes chosen artikel", %{conn: conn, artikel: artikel} do conn = delete(conn, ~p"/artikel/#{artikel}") assert redirected_to(conn) == ~p"/artikel" assert_error_sent 404, fn -> get(conn, ~p"/artikel/#{artikel}") end end end defp create_artikel(_) do artikel = artikel_fixture() %{artikel: artikel} end end