Commit Graph

3 Commits

Author SHA1 Message Date
Fabian @ Blax Software 4f0084b7e4 feat(cart): price options and richer cart items (both additive)
- shop.cart.prices_as_options (env SHOP_CART_PRICES_AS_OPTIONS, default off):
  adding a ProductPrice of a plain (non-pool, non-booking) product stores the
  product as the line with that price_id, so cart, checkout line and invoice
  show the product and its option. Lines merge only with the same option.
- CartItemResource adds price_id, parameters (what the buyer attached, e.g. a
  brief) and purchasable.virtual (no shipping needed).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 10:37:59 +02:00
Fabian @ Blax Software 30dc3755d2 test: pin clock in loan-vocabulary test; docs: bump suite counts to 1400/3755
PurchaseResourceTest::it_translates_e_commerce_columns_into_loan_vocabulary
relied on the real wall clock falling inside the fixture's loan window
(2026-05-14..2026-05-28); once that window passed, the loan resolved to
`overdue` and the test failed. Freeze the clock inside the window like its
sibling tests already do.

Update the README test/assertion badges and the Testing section to the current
suite size (1400 tests, 3755 assertions) after the subscription-checkout tests.
2026-06-02 09:48:26 +02:00
Fabian @ Blax Software fe41475c84 I loanable product type, tiered pricing, lifecycle events, host helpers 2026-05-15 10:27:59 +02:00