Testing Medusa: What to Test, What to Skip, and How
Commerce code moves money, so untested checkout logic is a liability. A pragmatic test strategy — what earns its keep, and what is theatre.
Articles tagged Modules — hands-on notes from the commerce builds we ship.
Commerce code moves money, so untested checkout logic is a liability. A pragmatic test strategy — what earns its keep, and what is theatre.
Database search stops working sooner than you expect. Choosing an engine, building the index, and the sync strategy that survives a bulk import.
No shipping, no inventory, and a set of problems physical goods never have: secure delivery, licence enforcement, and tax charged where the customer is.
Multi-vendor commerce means splitting one customer order into several vendor orders, and moving money to people who are not you. The model and the money mechanics.
Recurring billing is a scheduling problem with money attached. The data model, the renewal workflow, and the failure handling that determines involuntary churn.
The four capabilities that separate B2B from DTC, modelled as Medusa modules and workflows — with the data model that makes approvals work.
Tax-inclusive versus tax-exclusive pricing, product overrides, and the point at which manual rates stop being viable and you buy an engine.
Why your shipping options are empty, how the fulfilment model actually fits together, and how to build a provider that talks to a real carrier.
The provider interface method by method, a working implementation, and the idempotency and webhook details that separate a demo from something you can take money with.
Medusa loads code by convention. A directory-by-directory guide to what goes where, and the decision tree for placing any new piece of logic.
When a module should become a plugin, how the package is structured, and what changes when your code has to run in someone else's application.
Everything in Medusa is resolved from a container. What is registered, how scoping works per request, and how to avoid the two mistakes that cause leaks.