All checks were successful
deploy / deploy (push) Successful in 1m23s
Replaces hardcoded PreviewData placeholders with generated content derived from real shop state: connected providers (production lead times), shipping countries (grouped by region), shop country (jurisdiction language and governing law), and feature flags (abandoned cart recovery section, newsletter, VAT clause). Returns policy correctly cites Consumer Contracts Regulations Reg 28(1)(b) for POD exemption and Consumer Rights Act for defective goods. Cart recovery section uses jurisdiction-specific wording: PECR Reg 22 for UK, GDPR Art 6(1)(f) for EU, generic otherwise. About page unchanged — shop owner's story to tell. 26 new tests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
96 lines
2.4 KiB
Elixir
96 lines
2.4 KiB
Elixir
defmodule BerrypodWeb.Shop.ContentTest do
|
|
use BerrypodWeb.ConnCase, async: false
|
|
|
|
import Phoenix.LiveViewTest
|
|
import Berrypod.AccountsFixtures
|
|
|
|
setup do
|
|
user_fixture()
|
|
{:ok, _} = Berrypod.Settings.set_site_live(true)
|
|
:ok
|
|
end
|
|
|
|
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 =~ "Production time"
|
|
assert html =~ "Returns & exchanges"
|
|
assert html =~ "Cancellations"
|
|
end
|
|
|
|
test "displays shipping fallback when no rates are configured", %{conn: conn} do
|
|
{:ok, _view, html} = live(conn, ~p"/delivery")
|
|
|
|
assert html =~ "worldwide"
|
|
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 =~ "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
|