@faststore/core 4.9.0-dev.6 → 4.9.0-dev.7

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.
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.9.0-dev.5 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.9.0-dev.6 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.9.0-dev.5 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.9.0-dev.6 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.9.0-dev.5 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.9.0-dev.6 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,5 +1,5 @@
1
1
 
2
- > @faststore/core@4.9.0-dev.5 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.9.0-dev.6 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
@@ -7,23 +7,30 @@
7
7
 
8
8
  Not implemented: navigation to another Document
9
9
  Not implemented: navigation to another Document
10
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1011ms
10
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1223ms
11
11
  Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
12
12
  npx update-browserslist-db@latest
13
13
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
14
- ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 1794ms
15
- ✓ shows the tab bar and renders Personal cards by default  775ms
16
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (22 tests) 2619ms
17
- ✓ shows an error state when the list fails to load  659ms
18
- ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 2237ms
19
- ✓ opens the reject confirmation modal with the default English copy  925ms
20
- ✓ opens the reject confirmation modal with CMS-provided labels  391ms
21
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 180ms
22
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (10 tests) 1314ms
23
- ✓ renders the menu view with contract details and manage footer  700ms
24
- ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 114ms
25
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 92ms
26
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 13ms
14
+ ✓  browser  test/components/account/cards/MyAccountListCards.browser.test.tsx (16 tests) 3062ms
15
+ ✓ shows the tab bar and renders Personal cards by default  1162ms
16
+ ✓ paginates when there are more than 25 cards  470ms
17
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (22 tests) 3163ms
18
+ ✓ shows an error state when the list fails to load  533ms
19
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  409ms
20
+ ✓ keeps Confirm disabled until a different contract is selected  339ms
21
+ ✓ keeps Confirm disabled when switching is unavailable  340ms
22
+ ✓ keeps Confirm disabled when the selected contract is filtered out  327ms
23
+ ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 3266ms
24
+ ✓ opens the reject confirmation modal with the default English copy  1407ms
25
+ ✓ opens the reject confirmation modal with CMS-provided labels  526ms
26
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 238ms
27
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (10 tests) 1713ms
28
+ ✓ renders the menu view with contract details and manage footer  726ms
29
+ ✓ opens the contract switcher and returns to the menu on back  387ms
30
+ ✓ resets to the menu when the drawer closes  334ms
31
+ ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 111ms
32
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 89ms
33
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 15ms
27
34
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
28
35
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
29
36
   at node:internal/deps/undici/undici:16416:13
@@ -53,11 +60,11 @@ Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
53
60
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
54
61
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
55
62
 
56
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 99ms
57
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 43ms
58
- ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 113ms
59
- ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 73ms
60
- ✓  browser  test/components/navigation/Navbar.browser.test.tsx (3 tests) 38ms
63
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 120ms
64
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 72ms
65
+ ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 96ms
66
+ ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 67ms
67
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 8ms
61
68
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
62
69
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
63
70
 
@@ -191,7 +198,6 @@ act(() => {
191
198
  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
192
199
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
193
200
 
194
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 6ms
195
201
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > shows service unavailable when the response is not a login payload
196
202
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
197
203
 
@@ -288,9 +294,10 @@ act(() => {
288
294
  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
289
295
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
290
296
 
291
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 497ms
292
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 301ms
293
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (5 tests) 39ms
297
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 519ms
298
+ ✓  browser  test/components/navigation/Navbar.browser.test.tsx (3 tests) 48ms
299
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 456ms
300
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (5 tests) 49ms
294
301
  stderr | test/components/cms/RenderSections.browser.test.tsx
295
302
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
296
303
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -299,8 +306,8 @@ This ensures that you're testing the behavior the user would see in the browser.
299
306
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
300
307
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
301
308
 
302
- ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 56ms
303
- ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 35ms
309
+ ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 80ms
310
+ ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 34ms
304
311
  stderr | test/sdk/localization/store-url.browser.test.ts
305
312
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
306
313
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -309,15 +316,15 @@ This ensures that you're testing the behavior the user would see in the browser.
309
316
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
310
317
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
311
318
 
312
- ✓  browser  test/components/account/Menu.browser.test.tsx (6 tests) 308ms
313
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 4ms
314
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 30ms
315
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 30ms
316
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 128ms
317
- ✓  browser  test/components/sections/Account/AccountListQuotes.browser.test.tsx (4 tests) 92ms
318
- ✓  browser  test/components/navigation/NavbarAccountArea.browser.test.tsx (4 tests) 49ms
319
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 43ms
320
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 12ms
319
+ ✓  browser  test/components/account/Menu.browser.test.tsx (6 tests) 388ms
320
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 6ms
321
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 37ms
322
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 32ms
323
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 138ms
324
+ ✓  browser  test/components/sections/Account/AccountListQuotes.browser.test.tsx (4 tests) 143ms
325
+ ✓  browser  test/components/navigation/NavbarAccountArea.browser.test.tsx (4 tests) 67ms
326
+ ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 80ms
327
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 20ms
321
328
  stderr | test/components/account/doLogout.browser.test.ts
322
329
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
323
330
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -326,9 +333,9 @@ This ensures that you're testing the behavior the user would see in the browser.
326
333
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
327
334
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
328
335
 
329
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 18ms
330
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (5 tests) 309ms
331
- ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 35ms
336
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 34ms
337
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (5 tests) 344ms
338
+ ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 52ms
332
339
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
333
340
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
334
341
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -337,22 +344,22 @@ This ensures that you're testing the behavior the user would see in the browser.
337
344
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
338
345
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
339
346
 
340
- ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (4 tests) 27ms
341
- ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 59ms
342
- ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 83ms
343
- ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 89ms
344
- ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 73ms
345
- ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 21ms
346
- ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 72ms
347
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 27ms
348
- ✓  browser  test/components/account/OrganizationSignInButton.browser.test.tsx (2 tests) 191ms
349
- ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 96ms
350
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 4ms
351
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
352
- ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 37ms
353
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 29ms
354
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 24ms
355
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 22ms
347
+ ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (4 tests) 21ms
348
+ ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 109ms
349
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 115ms
350
+ ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 137ms
351
+ ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 31ms
352
+ ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 86ms
353
+ ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 76ms
354
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 50ms
355
+ ✓  browser  test/components/account/OrganizationSignInButton.browser.test.tsx (2 tests) 255ms
356
+ ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 97ms
357
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
358
+ ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 2ms
359
+ ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 48ms
360
+ ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 68ms
361
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 28ms
362
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 28ms
356
363
  stderr | test/sdk/account/refreshToken.browser.test.ts
357
364
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
358
365
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -361,17 +368,17 @@ This ensures that you're testing the behavior the user would see in the browser.
361
368
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
362
369
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
363
370
 
364
- ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 4ms
365
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 41ms
366
- ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 56ms
367
- ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 178ms
368
- ✓  node  test/utils/match-url.test.ts (10 tests) 7ms
369
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 11ms
370
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 124ms
371
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 7ms
371
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 6ms
372
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 32ms
373
+ ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 64ms
374
+ ✓  node  test/utils/match-url.test.ts (10 tests) 9ms
375
+ ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 242ms
376
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 14ms
377
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 125ms
372
378
  stderr | test/components/search/SearchInputComponent.test.tsx
373
379
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
374
380
 
381
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 11ms
375
382
  stderr | test/components/search/SearchInputComponent.test.tsx > SearchInput (OES integration) > renders without crashing
376
383
  Warning: React does not recognize the `visibleDropdown` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `visibledropdown` instead. If you accidentally passed it from a parent component, remove it from the DOM element.
377
384
  at div
@@ -432,22 +439,21 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
432
439
  at Suspense
433
440
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
434
441
 
435
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 78ms
436
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (15 tests) 364ms
437
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 35ms
442
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 66ms
443
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (15 tests) 476ms
444
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 46ms
438
445
  stderr | test/pages/pvt/account/cards/index.test.ts > Cards page getServerSideProps > redirects to /pvt/account/403 when the query fails with 401/403
439
446
  { extensions: { status: 401 } }
440
447
 
441
448
  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
442
449
  { extensions: { status: 502 } }
443
450
 
444
- ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 9ms
445
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 8ms
446
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 808ms
447
- ✓ navigates with the search term on blur  359ms
451
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 8ms
452
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 840ms
453
+ ✓ navigates with the search term on blur  361ms
448
454
  ✓ navigates without a label param when the search is cleared  359ms
449
- ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 29ms
450
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 7ms
455
+ ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 40ms
456
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 17ms
451
457
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
452
458
  Graphql execution returned with error: [
453
459
  {
@@ -463,6 +469,7 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
463
469
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates ForbiddenError status
464
470
  Graphql execution returned with error: [ { message: 'nope', status: 403, type: 'ForbiddenError' } ]
465
471
 
472
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 10ms
466
473
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates NotFoundError status
467
474
  Graphql execution returned with error: [ { message: 'nope', status: 404, type: 'NotFoundError' } ]
468
475
 
@@ -557,72 +564,73 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
557
564
  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)
558
565
  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)
559
566
 
560
- ✓  node  test/pages/api/graphql.test.ts (19 tests) 42ms
561
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 22ms
567
+ ✓  node  test/pages/api/graphql.test.ts (19 tests) 30ms
568
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 30ms
562
569
  ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 5ms
570
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 49ms
563
571
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
564
572
  Set password request failed: Bad Request
565
573
 
566
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 32ms
567
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 30ms
568
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 4ms
569
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (8 tests) 113ms
570
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (14 tests) 138ms
571
- ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 4ms
572
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 8ms
573
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (10 tests) 82ms
574
- ✓  node  test/sdk/redirects/index.test.ts (7 tests) 39ms
575
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 34ms
576
- ✓  node  test/utils/productJsonLd.test.ts (17 tests) 8ms
577
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 38ms
578
- ✓  node  test/proxy.localization.test.ts (5 tests) 35ms
579
- ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 19ms
580
- ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 5ms
581
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (9 tests) 8ms
574
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 33ms
575
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 5ms
576
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (8 tests) 130ms
577
+ ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 7ms
578
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (14 tests) 179ms
579
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 9ms
580
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (10 tests) 118ms
581
+ ✓  node  test/sdk/redirects/index.test.ts (7 tests) 53ms
582
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 54ms
583
+ ✓  node  test/utils/productJsonLd.test.ts (17 tests) 9ms
584
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 53ms
585
+ ✓  node  test/proxy.localization.test.ts (5 tests) 53ms
586
+ ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 13ms
587
+ ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 27ms
588
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (9 tests) 5ms
582
589
  ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 8ms
583
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 28ms
584
- ✓  node  test/proxy.test.ts (4 tests) 12ms
585
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 25ms
586
- ✓  node  test/server/webops-api.test.ts (9 tests) 10ms
587
- ✓  node  test/server/index.test.ts (7 tests) 1208ms
588
- ✓ should handle options and execute  765ms
589
- ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 22ms
590
- ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 4ms
591
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 8ms
592
- ✓  node  test/utils/productJsonLdRendering.test.tsx (4 tests) 11ms
593
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 7ms
594
- ✓  node  test/server/content/service.test.ts (5 tests) 4ms
595
- ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
596
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 28ms
597
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 3ms
598
- ✓  node  test/components/account/Layout.test.tsx (6 tests) 66ms
599
- ✓  node  test/server/rootSpan.test.ts (4 tests) 37ms
600
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 4ms
601
- ✓  node  test/pages/api/preview.test.ts (2 tests) 8ms
602
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 7ms
603
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 3ms
604
- ✓  node  test/utils/retry.test.ts (5 tests) 12ms
605
- ✓  node  test/server/cms/index.test.ts (2 tests) 3ms
606
- ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 4ms
607
- ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 4ms
608
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 187ms
609
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 5ms
610
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 40ms
611
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 4ms
612
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 4ms
613
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (4 tests) 36ms
590
+ ✓  node  test/server/index.test.ts (7 tests) 1320ms
591
+ ✓ should return a valid merged GraphQL schema  362ms
592
+ ✓ should handle options and execute  664ms
593
+ ✓  node  test/proxy.test.ts (4 tests) 16ms
594
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 56ms
595
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 41ms
596
+ ✓  node  test/server/webops-api.test.ts (9 tests) 17ms
597
+ ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 6ms
598
+ ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 36ms
599
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 12ms
600
+ ✓  node  test/utils/productJsonLdRendering.test.tsx (4 tests) 15ms
601
+ ✓  node  test/server/content/service.test.ts (5 tests) 5ms
602
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 6ms
603
+ ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
604
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 35ms
605
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 10ms
606
+ ✓  node  test/components/account/Layout.test.tsx (6 tests) 68ms
607
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 39ms
608
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
609
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 9ms
610
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 6ms
611
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 6ms
612
+ ✓  node  test/server/cms/index.test.ts (2 tests) 6ms
613
+ ✓  node  test/utils/retry.test.ts (5 tests) 15ms
614
+ ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 6ms
615
+ ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 6ms
616
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 194ms
617
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
618
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 6ms
619
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 50ms
620
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
621
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (4 tests) 51ms
614
622
  ✓  node  test/components/account/orders/getOrderTotalLabel.test.ts (6 tests) 4ms
615
- ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 2ms
623
+ ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 3ms
624
+ ✓  node  test/utils/getCookie.test.ts (4 tests) 6ms
616
625
  ✓  node  test/sdk/session/isSignInAreaResolved.test.ts (3 tests) 4ms
617
- ✓  node  test/utils/getCookie.test.ts (4 tests) 4ms
618
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
619
- ✓  node  test/instrumentation.test.ts (3 tests) 5ms
620
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 47ms
621
- ✓  node  test/components/account/orders/orderDetailsLabels.test.ts (1 test) 2ms
622
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 7ms
626
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
627
+ ✓  node  test/instrumentation.test.ts (3 tests) 8ms
628
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 57ms
629
+ ✓  node  test/components/account/orders/orderDetailsLabels.test.ts (1 test) 5ms
630
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 8ms
623
631
 
624
632
   Test Files  123 passed (123)
625
633
   Tests  965 passed (965)
626
-  Start at  14:31:09
627
-  Duration  43.56s (transform 11.77s, setup 0ms, import 39.48s, tests 16.90s, environment 51.87s)
634
+  Start at  23:50:24
635
+  Duration  59.06s (transform 12.94s, setup 0ms, import 51.90s, tests 21.96s, environment 73.33s)
628
636
 
@@ -1752,6 +1752,14 @@ export type StoreProductImageArgs = {
1752
1752
  limit?: InputMaybe<Scalars['Int']['input']>;
1753
1753
  };
1754
1754
 
1755
+ /** A product cluster (collection) associated with a product group. */
1756
+ export type StoreProductCluster = {
1757
+ /** Product cluster ID. */
1758
+ id: Scalars['String']['output'];
1759
+ /** Product cluster name. */
1760
+ name: Scalars['String']['output'];
1761
+ };
1762
+
1755
1763
  /** Product connections, including pagination information and products returned by the query. */
1756
1764
  export type StoreProductConnection = {
1757
1765
  /** Array with product connection edges, each containing a product and a corresponding cursor. */
@@ -1776,6 +1784,8 @@ export type StoreProductGroup = {
1776
1784
  hasVariant: Array<StoreProduct>;
1777
1785
  /** Product group name. */
1778
1786
  name: Scalars['String']['output'];
1787
+ /** Product clusters (collections) the product group belongs to. */
1788
+ productClusters: Array<StoreProductCluster>;
1779
1789
  /** Product group ID. */
1780
1790
  productGroupID: Scalars['String']['output'];
1781
1791
  /**
@@ -1760,6 +1760,14 @@ type StoreProduct {
1760
1760
  defaultLocaleSlug: String
1761
1761
  }
1762
1762
 
1763
+ """A product cluster (collection) associated with a product group."""
1764
+ type StoreProductCluster {
1765
+ """Product cluster ID."""
1766
+ id: String!
1767
+ """Product cluster name."""
1768
+ name: String!
1769
+ }
1770
+
1763
1771
  """
1764
1772
  Product connections, including pagination information and products returned by the query.
1765
1773
  """
@@ -1794,6 +1802,8 @@ type StoreProductGroup {
1794
1802
  hasVariant: [StoreProduct!]!
1795
1803
  """Product group ID."""
1796
1804
  productGroupID: String!
1805
+ """Product clusters (collections) the product group belongs to."""
1806
+ productClusters: [StoreProductCluster!]!
1797
1807
  """Product group name."""
1798
1808
  name: String!
1799
1809
  """Array of additional properties."""
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
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.9.0-dev.7](https://github.com/vtex/faststore/compare/v4.9.0-dev.6...v4.9.0-dev.7) (2026-09-29)
7
+
8
+ ### Features
9
+
10
+ - **api:** expose product clusters on product groups ([#3499](https://github.com/vtex/faststore/issues/3499)) ([d82c21b](https://github.com/vtex/faststore/commit/d82c21b66884ae61479179fd72d211decf9bd283)), closes [20v1.json#L1926-L1942](https://github.com/20v1.json/issues/L1926-L1942) [/github.com/vtex/faststore/blob/dev/packages/api/src/platforms/vtex/clients/search/types/ProductSearchResult.ts#L71-L83](https://github.com//github.com/vtex/faststore/blob/dev/packages/api/src/platforms/vtex/clients/search/types/ProductSearchResult.ts/issues/L71-L83)
11
+
6
12
  # [4.9.0-dev.6](https://github.com/vtex/faststore/compare/v4.9.0-dev.5...v4.9.0-dev.6) (2026-09-29)
7
13
 
8
14
  **Note:** Version bump only for package @faststore/core
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "4.9.0-dev.6",
3
+ "version": "4.9.0-dev.7",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -71,11 +71,11 @@
71
71
  "style-loader": "^3.3.1",
72
72
  "swr": "^2.2.5",
73
73
  "use-sync-external-store": "^1.6.0",
74
- "@faststore/api": "4.9.0-dev.6",
75
- "@faststore/diagnostics": "4.9.0-dev.6",
76
- "@faststore/lighthouse": "4.9.0-dev.6",
77
- "@faststore/ui": "4.9.0-dev.6",
78
- "@faststore/sdk": "4.9.0-dev.6"
74
+ "@faststore/api": "4.9.0-dev.7",
75
+ "@faststore/diagnostics": "4.9.0-dev.7",
76
+ "@faststore/lighthouse": "4.9.0-dev.7",
77
+ "@faststore/sdk": "4.9.0-dev.7",
78
+ "@faststore/ui": "4.9.0-dev.7"
79
79
  },
80
80
  "devDependencies": {
81
81
  "@cypress/code-coverage": "^3.12.1",