Skip to content

JNY-COM-CAT-003A visitor browses the public store offering

Markdown

JNY-COM-CAT-003

A visitor browses the public store offering

Markdown
  • DocumentDraft
  • Product intentConfirmed
  • ImplementationObserved

KindJourneyProduct areaCommerceModuleCatalog and Selling ConfigurationRevision1End-to-endOptional

Read atservices-commerce c8b66a98

The Formal Contract

The narrative above explains; the sections below are authoritative — the rules, scenarios and tests this document binds.

Goal
Inspect publicly available products and prices before signing in.

Steps

#SurfaceActionCapabilityExpectedProvenance
1listPublicStorefrontListingsBrowse Bookstore without authenticatingCAP-COM-CAT-008The public list contains selling published items in configured merchandising ordertest
services-commerce:modules/catalog/tests/e2e/storefront.e2e.spec.js#answers 200 with the selling, published listings in merchandiser order (featured first), the count, no cursor and no diagnosis
2getPublicStorefrontListingInspect the guide’s individual pageCAP-COM-CAT-008The page response includes Standard and public Member prices with a sign-in noticetest
services-commerce:modules/catalog/tests/e2e/storefront.e2e.spec.js#shows the standard price with the member price beside it, what signing in may change, and availability in words
3createPublicPriceQuoteRequest public prices for the guide and a draft productCAP-COM-CAT-013The guide receives Standard pricing and the draft fails publication validationtest
services-commerce:modules/pricing/tests/e2e/price-quote-public-sale.e2e.spec.js#refuses a draft product to an anonymous caller: 400 product_not_published, naming the store

Alternate and Failure Paths

PathFrom stepConditionPath takenOutcomeProvenance
alternate2The visitor requests an unlisted item’s individual addressDirect-page access and public quoting succeedThe item remains reachable outside the public listtest
services-commerce:modules/pricing/tests/e2e/price-quote-public-sale.e2e.spec.js#prices an unlisted product, which the product page opens by its link
alternate1The store is inactiveBrowsing returns an empty item collectionNo store items are returnedtest
services-commerce:modules/catalog/tests/e2e/storefront.e2e.spec.js#answers an empty page of the closed store, 404 for an unknown store, and refuses a bad query 400
failure3Publication exists without admitted assortment membershipThe price fails validation as not in the store’s assortmentThe visitor does not permit buy it in this storetest
services-commerce:modules/pricing/tests/e2e/price-quote-public-sale.e2e.spec.js#refuses a published product outside the store’s category assortment: 400 product_not_in_store_assortment, naming the store

Assertions

IdStatementProvenance
01Public pricing includes only selected public audiences alongside Standard and the sign-in notice.test
services-commerce:modules/catalog/tests/e2e/storefront.e2e.spec.js#shows the audiences marked for public display beside the Standard price (D10): the Members price 2000, with its audience
02Draft listing state excludes both public pages and shelf presentation.test
services-commerce:modules/catalog/tests/integration/services/storefront/storefront-listings.integration.spec.js#opens an unlisted product by its page, and is answered 404 for a draft and for a product another store does not sell
03Public-sale guards reject draft and excluded products while authorized staff receive their quote exemption.test
services-commerce:modules/pricing/tests/e2e/price-quote-public-sale.e2e.spec.js#prices the draft and the out-of-assortment product for staff holding commerce.orders.create: Standard 6000 and 15000

End-to-end policy: optional: No portal screen exists while Andrew retains portal work; the public behaviour is proved at the API, and a browser test belongs to the portal build.

The Markdown files under specs/ in rhythmsoftware/rhythm-v2-docs are the canonical source of truth. This reader is a generated, read-only projection of them.