{"coverage":["~/shop/target/cherry-test/runs/20261008-201143-00ea00/reports/adapters/shop/shop-ts-web-react/unit/coverage/lcov.info"],"diagnostics":[],"protocol":1,"success":true,"tests":[{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"mountShop rejects a missing root","source":"~/shop/shop-ts-web-react/src/mount.test.tsx","status":"passed"},{"attachments":[],"duration_ms":39,"line":null,"message":"","name":"mountShop renders the shop into the root element","source":"~/shop/shop-ts-web-react/src/mount.test.tsx","status":"passed"},{"attachments":[],"duration_ms":27,"line":null,"message":"","name":"Shop shows the catalog and an empty cart","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":4,"line":null,"message":"","name":"Shop shows a loading line until the catalog arrives","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":1,"line":null,"message":"","name":"Shop ignores a catalog response that arrives after unmount","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":16,"line":null,"message":"","name":"Shop shows a storage failure from the catalog","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":4,"line":null,"message":"","name":"Shop shows a generic message when the catalog body is not a list","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":3,"line":null,"message":"","name":"Shop shows a network failure","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":39,"line":null,"message":"","name":"Shop adds two mugs and shows the line total","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":16,"line":null,"message":"","name":"Shop disables actions while an add is in flight","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":14,"line":null,"message":"","name":"Shop shows the sku when a cart line is no longer in the catalog","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":34,"line":null,"message":"","name":"Shop places an order and rejects the next empty checkout","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":19,"line":null,"message":"","name":"Shop shows an empty-cart error and a second checkout error","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":25,"line":null,"message":"","name":"Shop shows a zero quantity error","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":24,"line":null,"message":"","name":"Shop shows an out of stock error","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":13,"line":null,"message":"","name":"Shop shows an unreadable add failure","source":"~/shop/shop-ts-web-react/src/shop.test.tsx","status":"passed"},{"attachments":[],"duration_ms":2,"line":null,"message":"","name":"shop API maps catalog rows into products","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API opens a cart","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API adds a line and returns the cart","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API maps a placed order","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API reads an API error","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API keeps the status text when the error body has no code","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API reports an unreadable error body","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"},{"attachments":[],"duration_ms":0,"line":null,"message":"","name":"shop API reports a network failure","source":"~/shop/shop-ts-web-react/src/shopApi.test.ts","status":"passed"}]}