@faststore/core 4.8.1-dev.0 → 4.8.1-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/.turbo/turbo-generate.log +3 -3
  2. package/.turbo/turbo-test.log +152 -114
  3. package/CHANGELOG.md +10 -0
  4. package/cms/faststore/my-account/components/cms_component__accountnavigation.jsonc +10 -0
  5. package/cms/faststore/my-account/components/cms_component__accountorderdelivery.jsonc +80 -0
  6. package/cms/faststore/my-account/components/cms_component__accountorderdetails.jsonc +25 -0
  7. package/cms/faststore/my-account/components/cms_component__accountorderslist.jsonc +10 -0
  8. package/cms/faststore/my-account/components/cms_component__accountorderstatus.jsonc +90 -0
  9. package/cms/faststore/my-account/components/cms_component__accountordersummary.jsonc +25 -0
  10. package/package.json +6 -6
  11. package/src/components/account/Drawer/OrganizationDrawer/OrganizationDrawerFooter.tsx +13 -2
  12. package/src/components/account/orders/ListOrders/FilterSlider/FilterFacetPendingApproval/FilterFacetPendingApproval.tsx +8 -3
  13. package/src/components/account/orders/ListOrders/FilterSlider/FilterSlider.tsx +1 -0
  14. package/src/components/account/orders/ListOrders/ListOrders.tsx +2 -2
  15. package/src/components/account/orders/ListOrders/listOrdersLabels.ts +4 -0
  16. package/src/components/account/orders/OrderDetails/BuyingPolicyAlert/BuyingPolicyAlert.tsx +45 -9
  17. package/src/components/account/orders/OrderDetails/DeliveryCard/DeliveryCard.tsx +14 -3
  18. package/src/components/account/orders/OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordion.tsx +4 -1
  19. package/src/components/account/orders/OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordionDeliveryInfo.tsx +14 -7
  20. package/src/components/account/orders/OrderDetails/DeliveryOptionAccordion/DeliveryOptionAccordionProducts.tsx +8 -5
  21. package/src/components/account/orders/OrderDetails/OrderDetailsHeader.tsx +5 -0
  22. package/src/components/account/orders/OrderDetails/StatusCard/StatusCard.tsx +26 -89
  23. package/src/components/account/orders/OrderDetails/StatusCard/statusCardLocalization.ts +114 -0
  24. package/src/components/account/orders/OrderDetails/SummaryCard/SummaryCard.tsx +2 -1
  25. package/src/components/account/orders/OrderDetails/SummaryCard/getOrderTotalLabel.ts +19 -0
  26. package/src/components/account/orders/OrderDetails/getDeliveryOptionLabel.ts +135 -0
  27. package/src/components/account/orders/OrderDetails/orderDetailsLabels.ts +73 -0
  28. package/src/components/sections/Account/AccountOrderDelivery.tsx +3 -1
  29. package/src/components/sections/Account/AccountOrderDetails.tsx +16 -0
  30. package/src/components/sections/Account/AccountOrderStatus.tsx +27 -3
  31. package/src/components/sections/Account/AccountOrdersList.tsx +4 -0
  32. package/src/pages/api/graphql.ts +108 -69
  33. package/src/sdk/account/accountPageContext.ts +14 -3
  34. package/src/sdk/account/getMyAccountRoutes.ts +2 -0
  35. package/src/sdk/overrides/PageProvider.tsx +1 -1
  36. package/test/components/account/OrganizationDrawerFooter.browser.test.tsx +95 -1
  37. package/test/components/account/orders/BuyingPolicyAlert.browser.test.tsx +342 -0
  38. package/test/components/account/orders/DeliveryCard.browser.test.tsx +36 -0
  39. package/test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx +76 -0
  40. package/test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx +41 -0
  41. package/test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx +35 -0
  42. package/test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx +25 -0
  43. package/test/components/account/orders/StatusCard.browser.test.tsx +37 -0
  44. package/test/components/account/orders/StatusCard.test.ts +101 -0
  45. package/test/components/account/orders/SummaryCard.browser.test.tsx +59 -0
  46. package/test/components/account/orders/getDeliveryOptionLabel.test.ts +129 -0
  47. package/test/components/account/orders/getOrderTotalLabel.test.ts +35 -0
  48. package/test/components/account/orders/listOrdersLabels.test.ts +23 -0
  49. package/test/components/account/orders/orderDetailsLabels.test.ts +13 -0
  50. package/test/components/sections/Account/AccountOrderDelivery.browser.test.tsx +72 -0
  51. package/test/components/sections/Account/AccountOrderDetails.browser.test.tsx +151 -0
  52. package/test/components/sections/Account/AccountOrderStatus.browser.test.tsx +59 -0
  53. package/test/components/sections/Account/AccountOrdersList.browser.test.tsx +67 -0
  54. package/test/pages/api/graphql.test.ts +27 -1
  55. package/test/sdk/account/getMyAccountRoutes.test.ts +11 -1
  56. package/test/utils/userOrderStatus.test.ts +22 -0
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.8.0 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.8.1-dev.0 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.8.0 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.8.1-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,7 +19,7 @@
19
19
  [COMPLETED] Generate to @generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.8.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.8.1-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
@@ -1,25 +1,29 @@
1
1
 
2
- > @faststore/core@4.8.0 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.8.1-dev.0 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.18 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- Not implemented: navigation to another Document
9
- Not implemented: navigation to another Document
10
8
  Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
11
9
  npx update-browserslist-db@latest
12
10
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
13
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 855ms
14
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 427ms
15
- ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 2153ms
16
- ✓ shows the tab bar and renders Personal cards by default  848ms
17
- ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 136ms
18
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 1926ms
19
- ✓ shows an error state when the list fails to load  570ms
20
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  309ms
21
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 187ms
22
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 17ms
11
+ Not implemented: navigation to another Document
12
+ Not implemented: navigation to another Document
13
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 938ms
14
+ ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 2653ms
15
+ ✓ shows the tab bar and renders Personal cards by default  1313ms
16
+ ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 2856ms
17
+ ✓ opens the reject confirmation modal with the default English copy  928ms
18
+ ✓ opens the reject confirmation modal with CMS-provided labels  408ms
19
+ ✓ shows the default English error toast when rejecting a policy fails  319ms
20
+ ✓ shows the CMS-provided error toast when rejecting a policy fails  307ms
21
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 458ms
22
+ ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 180ms
23
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2280ms
24
+ ✓ shows an error state when the list fails to load  597ms
25
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  355ms
26
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 156ms
23
27
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
24
28
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
25
29
   at node:internal/deps/undici/undici:16416:13
@@ -49,9 +53,11 @@ Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
49
53
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
50
54
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
51
55
 
52
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 82ms
53
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 149ms
54
- ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 63ms
56
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 219ms
57
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 33ms
58
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 70ms
59
+ ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 67ms
60
+ ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 79ms
55
61
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
56
62
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
57
63
 
@@ -281,13 +287,14 @@ act(() => {
281
287
  This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
282
288
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
283
289
 
284
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 630ms
285
- ✓ renders the password protection form  306ms
286
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 709ms
287
- ✓ renders the menu view with contract details and manage footer  327ms
288
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 13ms
289
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 64ms
290
- stderr | test/sdk/localization/store-url.browser.test.ts
290
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 971ms
291
+ ✓ renders the password protection form  376ms
292
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 8ms
293
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 946ms
294
+ ✓ renders the menu view with contract details and manage footer  477ms
295
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 20ms
296
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 334ms
297
+ stderr | test/components/cms/RenderSections.browser.test.tsx
291
298
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
292
299
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
293
300
  at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
@@ -295,9 +302,7 @@ This ensures that you're testing the behavior the user would see in the browser.
295
302
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
296
303
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
297
304
 
298
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 4ms
299
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 28ms
300
- stderr | test/components/cms/RenderSections.browser.test.tsx
305
+ stderr | test/sdk/localization/store-url.browser.test.ts
301
306
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
302
307
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
303
308
  at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
@@ -305,11 +310,12 @@ This ensures that you're testing the behavior the user would see in the browser.
305
310
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
306
311
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
307
312
 
308
- ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 54ms
309
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 31ms
310
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 125ms
311
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 33ms
312
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 40ms
313
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 8ms
314
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 31ms
315
+ ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 85ms
316
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 41ms
317
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 129ms
318
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 45ms
313
319
  stderr | test/components/account/doLogout.browser.test.ts
314
320
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
315
321
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -318,10 +324,17 @@ This ensures that you're testing the behavior the user would see in the browser.
318
324
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
319
325
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
320
326
 
321
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 21ms
322
- ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 39ms
323
- ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 50ms
324
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 247ms
327
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 49ms
328
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 24ms
329
+ ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 48ms
330
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 63ms
331
+ ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 115ms
332
+ ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 97ms
333
+ ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 30ms
334
+ ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 68ms
335
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 274ms
336
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 41ms
337
+ ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 84ms
325
338
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
326
339
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
327
340
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -331,11 +344,13 @@ This ensures that you're testing the behavior the user would see in the browser.
331
344
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
332
345
 
333
346
  ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 7ms
334
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 227ms
335
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 4ms
347
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 3ms
348
+ ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 93ms
336
349
  ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
337
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 29ms
338
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 21ms
350
+ ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 49ms
351
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 47ms
352
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 34ms
353
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 20ms
339
354
  stderr | test/sdk/account/refreshToken.browser.test.ts
340
355
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
341
356
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -344,12 +359,13 @@ This ensures that you're testing the behavior the user would see in the browser.
344
359
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
345
360
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
346
361
 
347
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 6ms
348
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 29ms
349
- ✓  node  test/utils/match-url.test.ts (10 tests) 7ms
350
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 11ms
351
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 117ms
352
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 5ms
362
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 32ms
363
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 5ms
364
+ ✓  node  test/utils/match-url.test.ts (10 tests) 10ms
365
+ ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 196ms
366
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 15ms
367
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 153ms
368
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 9ms
353
369
  stderr | test/components/search/SearchInputComponent.test.tsx
354
370
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
355
371
 
@@ -413,19 +429,16 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
413
429
  at Suspense
414
430
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
415
431
 
416
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 67ms
417
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 46ms
418
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 12ms
419
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 21ms
432
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 82ms
433
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 49ms
434
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 18ms
420
435
  stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > redirects to /pvt/account/403 when the query fails with 401/403
421
436
  { extensions: { status: 401 } }
422
437
 
423
438
  stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > renders the error state (no redirect) when the query fails with a non-auth status
424
439
  { extensions: { status: 502 } }
425
440
 
426
- ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 13ms
427
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 9ms
428
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 344ms
441
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 12ms
429
442
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
430
443
  Graphql execution returned with error: [
431
444
  {
@@ -472,11 +485,14 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
472
485
  { message: 'bad', status: 400, type: 'BadRequestError' }
473
486
  ]
474
487
 
488
+ stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > sets cache-control: no-store on error responses so a bare 404/410 is not cached by intermediaries
489
+ Graphql execution returned with error: [ { message: 'missing', status: 404, type: 'NotFoundError' } ]
490
+
475
491
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps BadRequestError thrown by execute to its status
476
492
  Something unexpected occurred querying Graphql endpoint:
477
493
  E [FastStoreError]: malformed
478
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:190:31
479
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
494
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:201:31
495
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:207:39
480
496
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
481
497
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:145:11
482
498
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:26
@@ -491,8 +507,8 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
491
507
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps UnauthorizedError thrown by execute to its status
492
508
  Something unexpected occurred querying Graphql endpoint:
493
509
  ie [FastStoreError]: expired
494
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:191:33
495
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
510
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:202:33
511
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:207:39
496
512
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
497
513
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:145:11
498
514
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:26
@@ -507,8 +523,8 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
507
523
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps an unexpected failure thrown by execute to its status
508
524
  Something unexpected occurred querying Graphql endpoint:
509
525
  Error: socket hang up
510
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:192:37
511
- at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
526
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:203:37
527
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:207:39
512
528
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
513
529
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:145:11
514
530
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:26
@@ -518,69 +534,91 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
518
534
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
519
535
  at Traces.$ (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js:142:27)
520
536
 
521
- ✓  node  test/pages/api/graphql.test.ts (17 tests) 18ms
537
+ stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > skips the cache-control header when headers were already sent
538
+ Something unexpected occurred querying Graphql endpoint:
539
+ Error: boom after flush
540
+ at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:219:37
541
+ at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:145:11
542
+ at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:915:26
543
+ at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1243:20
544
+ at new Promise (<anonymous>)
545
+ at runWithTimeout (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1209:10)
546
+ at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
547
+ at Traces.$ (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/traces.CCmnQaNT.js:142:27)
548
+ at trace (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.18_@opentelemetry+api@1.9.0_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sas_13be941c57d55f08f06eeaf1c180ddfe/node_modules/vitest/dist/chunks/test.B8ej_ZHS.js:239:21)
549
+ at runTest (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:12)
550
+
551
+ ✓  node  test/pages/api/graphql.test.ts (19 tests) 38ms
552
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 28ms
553
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 9ms
522
554
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
523
555
  Set password request failed: Bad Request
524
556
 
525
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 22ms
526
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 791ms
527
- ✓ navigates with the search term on blur  360ms
528
- ✓ navigates without a label param when the search is cleared  359ms
529
- ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 22ms
530
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 27ms
531
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 4ms
557
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 33ms
558
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 311ms
559
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 29ms
560
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 6ms
532
561
  ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 5ms
533
- ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 6ms
534
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (12 tests) 7ms
535
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 41ms
536
- ✓  node  test/sdk/redirects/index.test.ts (7 tests) 46ms
537
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 124ms
538
- ✓  node  test/utils/productJsonLd.test.ts (17 tests) 9ms
562
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 835ms
563
+ ✓ navigates with the search term on blur  363ms
564
+ ✓ navigates without a label param when the search is cleared  360ms
565
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 10ms
566
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 50ms
567
+ ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 7ms
568
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 42ms
569
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 128ms
570
+ ✓  node  test/sdk/redirects/index.test.ts (7 tests) 59ms
571
+ ✓  node  test/utils/productJsonLd.test.ts (17 tests) 7ms
539
572
  ✓  node  test/proxy.localization.test.ts (5 tests) 33ms
540
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 33ms
541
- ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 12ms
542
- ✓  node  test/server/index.test.ts (7 tests) 972ms
543
- ✓ should handle options and execute  558ms
573
+ ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 10ms
574
+ ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 14ms
575
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 42ms
576
+ ✓  node  test/server/index.test.ts (7 tests) 962ms
577
+ ✓ should handle options and execute  452ms
544
578
  ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 6ms
545
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 46ms
546
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 86ms
547
- ✓  node  test/server/webops-api.test.ts (9 tests) 9ms
548
- ✓  node  test/proxy.test.ts (4 tests) 19ms
579
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 45ms
580
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 100ms
581
+ ✓  node  test/server/webops-api.test.ts (9 tests) 11ms
582
+ ✓  node  test/proxy.test.ts (4 tests) 22ms
583
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 32ms
584
+ ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 21ms
549
585
  ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 4ms
550
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 34ms
551
- ✓  node  test/server/content/service.test.ts (5 tests) 4ms
552
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 9ms
553
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (7 tests) 5ms
586
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 13ms
587
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (7 tests) 6ms
554
588
  ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 8ms
555
- ✓  node  test/utils/productJsonLdRendering.test.tsx (4 tests) 11ms
556
- ✓  node  test/server/cms/global.test.ts (3 tests) 3ms
557
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 28ms
558
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 90ms
559
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 4ms
560
- ✓  node  test/server/rootSpan.test.ts (4 tests) 32ms
561
- ✓  node  test/pages/api/preview.test.ts (2 tests) 7ms
562
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 6ms
589
+ ✓  node  test/server/content/service.test.ts (5 tests) 5ms
590
+ ✓  node  test/utils/productJsonLdRendering.test.tsx (4 tests) 14ms
591
+ ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
592
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 23ms
593
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 122ms
594
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 7ms
595
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 52ms
596
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 6ms
597
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 8ms
563
598
  ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
564
- ✓  node  test/components/account/Layout.test.tsx (6 tests) 55ms
565
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 5ms
566
- ✓  node  test/utils/retry.test.ts (5 tests) 12ms
567
- ✓  node  test/server/cms/index.test.ts (2 tests) 4ms
568
- ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 4ms
569
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 5ms
570
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 3ms
571
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 172ms
572
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 40ms
573
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 4ms
574
- ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
575
- ✓  node  test/utils/getCookie.test.ts (4 tests) 4ms
576
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
577
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 37ms
578
- ✓  node  test/instrumentation.test.ts (3 tests) 3ms
579
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 8ms
580
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 25ms
581
-
582
-  Test Files  98 passed (98)
583
-  Tests  795 passed (795)
584
-  Start at  00:32:50
585
-  Duration  36.50s (transform 9.42s, setup 0ms, import 32.90s, tests 12.04s, environment 44.24s)
599
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 6ms
600
+ ✓  node  test/components/account/Layout.test.tsx (6 tests) 64ms
601
+ ✓  node  test/utils/retry.test.ts (5 tests) 18ms
602
+ ✓  node  test/server/cms/index.test.ts (2 tests) 5ms
603
+ ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 5ms
604
+ ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 4ms
605
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
606
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 194ms
607
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 5ms
608
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
609
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 57ms
610
+ ✓  node  test/components/account/orders/getOrderTotalLabel.test.ts (6 tests) 6ms
611
+ ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 4ms
612
+ ✓  node  test/utils/getCookie.test.ts (4 tests) 3ms
613
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 28ms
614
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 5ms
615
+ ✓  node  test/instrumentation.test.ts (3 tests) 4ms
616
+ ✓  node  test/components/account/orders/orderDetailsLabels.test.ts (1 test) 3ms
617
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 36ms
618
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 11ms
619
+
620
+  Test Files  115 passed (115)
621
+  Tests  871 passed (871)
622
+  Start at  21:00:05
623
+  Duration  51.92s (transform 13.62s, setup 0ms, import 47.24s, tests 17.98s, environment 64.13s)
586
624
 
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.8.1-dev.1](https://github.com/vtex/faststore/compare/v4.8.1-dev.0...v4.8.1-dev.1) (2026-09-18)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **core:** avoid negated ternary condition flagged by Sonar ([c3fa734](https://github.com/vtex/faststore/commit/c3fa73440d9b98286b4ea1f7dfa737a44b06446b))
11
+ - **core:** guard the catch-path no-store header with headersSent ([48c21b8](https://github.com/vtex/faststore/commit/48c21b89d345e1a376c578f3171a0d10461f1689)), closes [#3485](https://github.com/vtex/faststore/issues/3485)
12
+ - **core:** localize My Account order copy ([#3490](https://github.com/vtex/faststore/issues/3490)) ([f77d3cf](https://github.com/vtex/faststore/commit/f77d3cfd1ca5b160ff003d090cb7c4413e2b0c56))
13
+ - **core:** set cache-control: no-store on GraphQL error responses ([dbb7d26](https://github.com/vtex/faststore/commit/dbb7d26078a04ebf9eee5a16e8cc3b6774acee73))
14
+ - **core:** set cache-control: no-store on the catch-path error responses ([5eec369](https://github.com/vtex/faststore/commit/5eec369bebc3b930e45078914e3e1d57bd22208d)), closes [#3485](https://github.com/vtex/faststore/issues/3485)
15
+
6
16
  ## [4.8.1-dev.0](https://github.com/vtex/faststore/compare/v4.8.0...v4.8.1-dev.0) (2026-09-15)
7
17
 
8
18
  **Note:** Version bump only for package @faststore/core
@@ -26,6 +26,16 @@
26
26
  "title": "Security Menu Label",
27
27
  "default": "Security"
28
28
  },
29
+ "cardsLabel": {
30
+ "type": "string",
31
+ "title": "Cards Menu Label",
32
+ "default": "Cards"
33
+ },
34
+ "quotesLabel": {
35
+ "type": "string",
36
+ "title": "Quotes Menu Label",
37
+ "default": "Quotes"
38
+ },
29
39
  "manageLabel": {
30
40
  "type": "string",
31
41
  "title": "Manage Button Label",
@@ -60,6 +60,86 @@
60
60
  "type": "string",
61
61
  "title": "Total Label",
62
62
  "default": "Total"
63
+ },
64
+ "deliveryChannelLabel": {
65
+ "type": "string",
66
+ "title": "Delivery Channel Label",
67
+ "default": "Delivery"
68
+ },
69
+ "pickupChannelLabel": {
70
+ "type": "string",
71
+ "title": "Pickup Channel Label",
72
+ "default": "Pickup"
73
+ },
74
+ "takeAwayChannelLabel": {
75
+ "type": "string",
76
+ "title": "Take Away Channel Label",
77
+ "default": "Take away"
78
+ },
79
+ "businessDaysZeroTemplate": {
80
+ "type": "string",
81
+ "title": "Business Days Zero Template",
82
+ "default": "Today"
83
+ },
84
+ "businessDaysOneTemplate": {
85
+ "type": "string",
86
+ "title": "Business Days One Template",
87
+ "default": "In 1 business day"
88
+ },
89
+ "businessDaysOtherTemplate": {
90
+ "type": "string",
91
+ "title": "Business Days Other Template",
92
+ "default": "Up to {count} business days"
93
+ },
94
+ "daysZeroTemplate": {
95
+ "type": "string",
96
+ "title": "Days Zero Template",
97
+ "default": "Today"
98
+ },
99
+ "daysOneTemplate": {
100
+ "type": "string",
101
+ "title": "Days One Template",
102
+ "default": "In 1 day"
103
+ },
104
+ "daysOtherTemplate": {
105
+ "type": "string",
106
+ "title": "Days Other Template",
107
+ "default": "Up to {count} days"
108
+ },
109
+ "hoursZeroTemplate": {
110
+ "type": "string",
111
+ "title": "Hours Zero Template",
112
+ "default": "Now"
113
+ },
114
+ "hoursOneTemplate": {
115
+ "type": "string",
116
+ "title": "Hours One Template",
117
+ "default": "In 1 hour"
118
+ },
119
+ "hoursOtherTemplate": {
120
+ "type": "string",
121
+ "title": "Hours Other Template",
122
+ "default": "Up to {count} hours"
123
+ },
124
+ "minutesZeroTemplate": {
125
+ "type": "string",
126
+ "title": "Minutes Zero Template",
127
+ "default": "Now"
128
+ },
129
+ "minutesOneTemplate": {
130
+ "type": "string",
131
+ "title": "Minutes One Template",
132
+ "default": "In 1 minute"
133
+ },
134
+ "minutesOtherTemplate": {
135
+ "type": "string",
136
+ "title": "Minutes Other Template",
137
+ "default": "Up to {count} minutes"
138
+ },
139
+ "toNeighborhoodTemplate": {
140
+ "type": "string",
141
+ "title": "To Neighborhood Template",
142
+ "default": "to {neighborhood}"
63
143
  }
64
144
  },
65
145
  "readOnly": false,