New list: orders

This commit is contained in:
2023-03-13 19:12:36 +02:00
parent 30fecdb876
commit f24dce5e51
15 changed files with 805 additions and 0 deletions

View File

@@ -0,0 +1,110 @@
defmodule OsuuspuutarhaWeb.OrderLiveTest do
use OsuuspuutarhaWeb.ConnCase
import Phoenix.LiveViewTest
import Osuuspuutarha.OrdersFixtures
@create_attrs %{address: "some address", city: "some city", email: "some email", even_weeks: true, fname: "some fname", is_member: true, lname: "some lname", location: :koroinen, order_type: :full, pcode: "some pcode", phone: "some phone", split_invoice: true}
@update_attrs %{address: "some updated address", city: "some updated city", email: "some updated email", even_weeks: false, fname: "some updated fname", is_member: false, lname: "some updated lname", location: :ocean, order_type: :everyother, pcode: "some updated pcode", phone: "some updated phone", split_invoice: false}
@invalid_attrs %{address: nil, city: nil, email: nil, even_weeks: false, fname: nil, is_member: false, lname: nil, location: nil, order_type: nil, pcode: nil, phone: nil, split_invoice: false}
defp create_order(_) do
order = order_fixture()
%{order: order}
end
describe "Index" do
setup [:create_order]
test "lists all orders", %{conn: conn, order: order} do
{:ok, _index_live, html} = live(conn, Routes.order_index_path(conn, :index))
assert html =~ "Listing Orders"
assert html =~ order.address
end
test "saves new order", %{conn: conn} do
{:ok, index_live, _html} = live(conn, Routes.order_index_path(conn, :index))
assert index_live |> element("a", "New Order") |> render_click() =~
"New Order"
assert_patch(index_live, Routes.order_index_path(conn, :new))
assert index_live
|> form("#order-form", order: @invalid_attrs)
|> render_change() =~ "can't be blank"
{:ok, _, html} =
index_live
|> form("#order-form", order: @create_attrs)
|> render_submit()
|> follow_redirect(conn, Routes.order_index_path(conn, :index))
assert html =~ "Order created successfully"
assert html =~ "some address"
end
test "updates order in listing", %{conn: conn, order: order} do
{:ok, index_live, _html} = live(conn, Routes.order_index_path(conn, :index))
assert index_live |> element("#order-#{order.id} a", "Edit") |> render_click() =~
"Edit Order"
assert_patch(index_live, Routes.order_index_path(conn, :edit, order))
assert index_live
|> form("#order-form", order: @invalid_attrs)
|> render_change() =~ "can't be blank"
{:ok, _, html} =
index_live
|> form("#order-form", order: @update_attrs)
|> render_submit()
|> follow_redirect(conn, Routes.order_index_path(conn, :index))
assert html =~ "Order updated successfully"
assert html =~ "some updated address"
end
test "deletes order in listing", %{conn: conn, order: order} do
{:ok, index_live, _html} = live(conn, Routes.order_index_path(conn, :index))
assert index_live |> element("#order-#{order.id} a", "Delete") |> render_click()
refute has_element?(index_live, "#order-#{order.id}")
end
end
describe "Show" do
setup [:create_order]
test "displays order", %{conn: conn, order: order} do
{:ok, _show_live, html} = live(conn, Routes.order_show_path(conn, :show, order))
assert html =~ "Show Order"
assert html =~ order.address
end
test "updates order within modal", %{conn: conn, order: order} do
{:ok, show_live, _html} = live(conn, Routes.order_show_path(conn, :show, order))
assert show_live |> element("a", "Edit") |> render_click() =~
"Edit Order"
assert_patch(show_live, Routes.order_show_path(conn, :edit, order))
assert show_live
|> form("#order-form", order: @invalid_attrs)
|> render_change() =~ "can't be blank"
{:ok, _, html} =
show_live
|> form("#order-form", order: @update_attrs)
|> render_submit()
|> follow_redirect(conn, Routes.order_show_path(conn, :show, order))
assert html =~ "Order updated successfully"
assert html =~ "some updated address"
end
end
end