feat: add default content pages for delivery, privacy and terms
Replace one-off ShopLive.About with generic ShopLive.Content that handles all static content pages via live_action. Add delivery & returns, privacy policy, and terms of service pages with sample content. Update footer help links and theme editor preview. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
89
test/simpleshop_theme_web/live/shop_live/content_test.exs
Normal file
89
test/simpleshop_theme_web/live/shop_live/content_test.exs
Normal file
@@ -0,0 +1,89 @@
|
||||
defmodule SimpleshopThemeWeb.ShopLive.ContentTest do
|
||||
use SimpleshopThemeWeb.ConnCase, async: false
|
||||
|
||||
import Phoenix.LiveViewTest
|
||||
|
||||
describe "About page" do
|
||||
test "renders about page", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/about")
|
||||
|
||||
assert html =~ "About the studio"
|
||||
assert html =~ "sample about page"
|
||||
end
|
||||
|
||||
test "displays about image", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/about")
|
||||
|
||||
assert html =~ "night-sky-blanket"
|
||||
end
|
||||
end
|
||||
|
||||
describe "Delivery page" do
|
||||
test "renders delivery page", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/delivery")
|
||||
|
||||
assert html =~ "Delivery & returns"
|
||||
assert html =~ "shipping and returns"
|
||||
end
|
||||
|
||||
test "displays delivery content", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/delivery")
|
||||
|
||||
assert html =~ "Shipping"
|
||||
assert html =~ "Returns & exchanges"
|
||||
assert html =~ "Cancellations"
|
||||
end
|
||||
|
||||
test "displays list items", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/delivery")
|
||||
|
||||
assert html =~ "United Kingdom"
|
||||
assert html =~ "5–8 business days"
|
||||
end
|
||||
end
|
||||
|
||||
describe "Privacy page" do
|
||||
test "renders privacy page", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/privacy")
|
||||
|
||||
assert html =~ "Privacy policy"
|
||||
assert html =~ "personal information"
|
||||
end
|
||||
|
||||
test "displays privacy content", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/privacy")
|
||||
|
||||
assert html =~ "What we collect"
|
||||
assert html =~ "Cookies"
|
||||
assert html =~ "Your rights"
|
||||
end
|
||||
end
|
||||
|
||||
describe "Terms page" do
|
||||
test "renders terms page", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/terms")
|
||||
|
||||
assert html =~ "Terms of service"
|
||||
assert html =~ "The legal bits"
|
||||
end
|
||||
|
||||
test "displays terms content", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/terms")
|
||||
|
||||
assert html =~ "Products"
|
||||
assert html =~ "Orders & payment"
|
||||
assert html =~ "Intellectual property"
|
||||
end
|
||||
end
|
||||
|
||||
describe "Footer links" do
|
||||
test "footer contains policy page links", %{conn: conn} do
|
||||
{:ok, _view, html} = live(conn, ~p"/about")
|
||||
|
||||
assert html =~ ~s(href="/delivery")
|
||||
assert html =~ ~s(href="/privacy")
|
||||
assert html =~ ~s(href="/terms")
|
||||
assert html =~ ~s(href="/contact")
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user