- typed client and useFaq/useFaqApi (SSR, faq:<slug>:<locale> key, server and public bases, x-forwarded-for forwarded also on cached renders) - FaqBlock, FaqList and FaqItem: native details, exclusive and openFirst, server-sanitized description and answers, nothing or #fallback on 404, error or no items - FAQ tokens and base CSS with the .faq-html rules, README - node client tests and a playground SSR smoke against a fixture API
15 lines
920 B
Plaintext
15 lines
920 B
Plaintext
# SSR smoke of the playground against testing/fixtures: FaqBlock acme
|
|
# (exclusive), acme again (h3, no description), missing (fallback slot) and
|
|
# empty (no items). Run: pnpm build:playground && pnpm smoke:ssr
|
|
200 / contains=class="faq-block__title">Acme questions</h2>
|
|
200 / contains=<h3 id=
|
|
200 / contains=<div class="faq-block__description faq-html"><p>Answers about <a href="https://acme.example.test/">Acme</a>.</p></div>
|
|
200 / contains=<summary class="faq-item__question">How long does shipping take?</summary>
|
|
200 / contains=<div class="faq-item__answer faq-html"><p>Two days.</p><ul><li>Poland</li><li>Europe</li></ul></div>
|
|
200 / contains=<details class="faq-item" name=
|
|
200 / contains=<details class="faq-item"><summary
|
|
# A missing FAQ renders its fallback; a FAQ without items renders nothing.
|
|
200 / contains=<p class="playground-fallback">No FAQ</p>
|
|
200 / notcontains=>Empty</h
|
|
200 / notcontains=FaqSection
|