doc-site
Developer guide

Testing

What to check before releasing a storefront change, given there are no automated tests, and how to test bookings without affecting Zoho.

asc-shopify-src has no automated tests, no linting and no type check. The only automated checks are Prettier, run by the pre-commit hook, and the AI review action on theme pull requests. Testing is manual, on a preview theme or a development theme.

The two services have their own suites: asc-api-membership-pass uses Vitest and asc-api-src-zoho-integration uses Jest.

Before opening a pull request

npm run check
npm run build

npm run check runs Prettier in check mode across the repository. npm run build must finish without errors, and git -C theme status should show the rebuilt files you expect.

To catch type errors that the build does not report:

npx tsc --noEmit -p src

The code has existing type errors, so compare the output before and after your change rather than expecting none.

Pages to check

Check at desktop and mobile widths, in a private window, on the preview theme.

Area changedCheck
Camp listings, cards, filtersA city page, a sport page, a partner program page, the Get Started map
MapsA city page map, the home page Camps Map, a booking page Camp Location map
Booking formOpen from a camp card with Reveal booking form ticked, and from the Book Camp button. Complete two participants. Test as a guest and logged in
CartA camp and a physical product together. Quantity change, remove, checkout button
Membership passLogged out, logged in without a pass, logged in with a pass on an ASC camp and on a partner program
Header and menusDesktop hover menus and the mobile menu, which is built differently
Theme settings or sectionsEvery template that uses the section
Anything in theme.liquidThe same change in theme.product.liquid if it should apply to booking pages

Open the browser console on each page. The storefront should not log errors from theme or bundle code.

Testing bookings without a real camp

An ASC camp variant with Expose For Testing set to true shows in camp lists while out of season. Its Book Camp button stays disabled, so open the booking form by adding &start_booking to the booking page URL.

Orders and Zoho

There is no staging Zoho organisation. A completed checkout on any theme, including a preview theme, creates a real order. Zapier sends it to Zoho and the customer confirmation email is sent.

Stop at the cart or the checkout page unless the test needs a completed order. If it does, tell the bookings team first, use a 100% discount code, and remove the resulting Zoho records afterwards.

Testing the services locally

asc-api-membership-pass and asc-api-src-zoho-integration both run locally with their own .env files. To point a development theme at a local pass service, change the theme setting Google Cloud API URL on the development theme only. The live theme setting must not change.

Club search is fixed into the bundle at build time. Build with a local ZOHO_INTEGRATION_API_ENDPOINT, test, then rebuild with the production value before committing.

On this page