defmodule DiffuserWeb.PromptRequestLiveTest do use DiffuserWeb.ConnCase import Phoenix.LiveViewTest import Diffuser.GeneratorFixtures @create_attrs %{prompt: "some prompt"} @update_attrs %{prompt: "some updated prompt"} @invalid_attrs %{prompt: nil} defp create_prompt_request(_) do prompt_request = prompt_request_fixture() %{prompt_request: prompt_request} end describe "Index" do setup [:create_prompt_request] test "lists all prompt_requests", %{conn: conn, prompt_request: prompt_request} do {:ok, _index_live, html} = live(conn, Routes.prompt_request_index_path(conn, :index)) assert html =~ "Listing Prompt requests" assert html =~ prompt_request.prompt end test "saves new prompt_request", %{conn: conn} do {:ok, index_live, _html} = live(conn, Routes.prompt_request_index_path(conn, :index)) assert index_live |> element("a", "New Prompt request") |> render_click() =~ "New Prompt request" assert_patch(index_live, Routes.prompt_request_index_path(conn, :new)) assert index_live |> form("#prompt_request-form", prompt_request: @invalid_attrs) |> render_change() =~ "can't be blank" {:ok, _, html} = index_live |> form("#prompt_request-form", prompt_request: @create_attrs) |> render_submit() |> follow_redirect(conn, Routes.prompt_request_index_path(conn, :index)) assert html =~ "Prompt request created successfully" assert html =~ "some prompt" end test "updates prompt_request in listing", %{conn: conn, prompt_request: prompt_request} do {:ok, index_live, _html} = live(conn, Routes.prompt_request_index_path(conn, :index)) assert index_live |> element("#prompt_request-#{prompt_request.id} a", "Edit") |> render_click() =~ "Edit Prompt request" assert_patch(index_live, Routes.prompt_request_index_path(conn, :edit, prompt_request)) assert index_live |> form("#prompt_request-form", prompt_request: @invalid_attrs) |> render_change() =~ "can't be blank" {:ok, _, html} = index_live |> form("#prompt_request-form", prompt_request: @update_attrs) |> render_submit() |> follow_redirect(conn, Routes.prompt_request_index_path(conn, :index)) assert html =~ "Prompt request updated successfully" assert html =~ "some updated prompt" end test "deletes prompt_request in listing", %{conn: conn, prompt_request: prompt_request} do {:ok, index_live, _html} = live(conn, Routes.prompt_request_index_path(conn, :index)) assert index_live |> element("#prompt_request-#{prompt_request.id} a", "Delete") |> render_click() refute has_element?(index_live, "#prompt_request-#{prompt_request.id}") end end describe "Show" do setup [:create_prompt_request] test "displays prompt_request", %{conn: conn, prompt_request: prompt_request} do {:ok, _show_live, html} = live(conn, Routes.prompt_request_show_path(conn, :show, prompt_request)) assert html =~ "Show Prompt request" assert html =~ prompt_request.prompt end test "updates prompt_request within modal", %{conn: conn, prompt_request: prompt_request} do {:ok, show_live, _html} = live(conn, Routes.prompt_request_show_path(conn, :show, prompt_request)) assert show_live |> element("a", "Edit") |> render_click() =~ "Edit Prompt request" assert_patch(show_live, Routes.prompt_request_show_path(conn, :edit, prompt_request)) assert show_live |> form("#prompt_request-form", prompt_request: @invalid_attrs) |> render_change() =~ "can't be blank" {:ok, _, html} = show_live |> form("#prompt_request-form", prompt_request: @update_attrs) |> render_submit() |> follow_redirect(conn, Routes.prompt_request_show_path(conn, :show, prompt_request)) assert html =~ "Prompt request updated successfully" assert html =~ "some updated prompt" end end end