@faststore/core 4.9.0-dev.5 → 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.4 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.4 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.4 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.4 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,26 +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) 1051ms
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) 2173ms
15
- ✓ shows the tab bar and renders Personal cards by default  921ms
16
- ✓ paginates when there are more than 25 cards  310ms
17
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (22 tests) 3028ms
18
- ✓ shows an error state when the list fails to load  702ms
19
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  339ms
20
- ✓  browser  test/components/account/orders/BuyingPolicyAlert.browser.test.tsx (13 tests) 2291ms
21
- ✓ opens the reject confirmation modal with the default English copy  795ms
22
- ✓ opens the reject confirmation modal with CMS-provided labels  339ms
23
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationShelf.browser.test.tsx (13 tests) 179ms
24
- ✓  browser  test/sdk/localization/useBindingSelector.browser.test.tsx (9 tests) 110ms
25
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (10 tests) 1152ms
26
- ✓ renders the menu view with contract details and manage footer  545ms
27
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 110ms
28
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 13ms
29
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (12 tests) 69ms
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
30
34
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
31
35
  Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
32
36
   at node:internal/deps/undici/undici:16416:13
@@ -56,9 +60,11 @@ Browserslist: browsers data (caniuse-lite) is 7 months old. Please run:
56
60
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
57
61
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
58
62
 
59
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 111ms
60
- ✓  browser  test/components/CartSidebar/CartSidebar.browser.test.tsx (5 tests) 57ms
61
- ✓  browser  test/components/sections/Account/AccountOrderDetails.browser.test.tsx (4 tests) 42ms
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
62
68
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
63
69
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
64
70
 
@@ -288,11 +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) 387ms
292
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 4ms
293
- ✓  browser  test/components/navigation/Navbar.browser.test.tsx (3 tests) 35ms
294
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (8 tests) 325ms
295
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (5 tests) 47ms
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
296
301
  stderr | test/components/cms/RenderSections.browser.test.tsx
297
302
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
298
303
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -301,8 +306,8 @@ This ensures that you're testing the behavior the user would see in the browser.
301
306
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
302
307
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
303
308
 
304
- ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 46ms
305
- ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 37ms
309
+ ✓  browser  test/components/cms/RenderSections.browser.test.tsx (5 tests) 80ms
310
+ ✓  browser  test/components/navigation/NavbarSlider.browser.test.tsx (2 tests) 34ms
306
311
  stderr | test/sdk/localization/store-url.browser.test.ts
307
312
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
308
313
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -311,15 +316,15 @@ This ensures that you're testing the behavior the user would see in the browser.
311
316
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
312
317
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
313
318
 
314
- ✓  browser  test/components/account/Menu.browser.test.tsx (6 tests) 236ms
315
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 4ms
316
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 25ms
317
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 24ms
318
- ✓  browser  test/sdk/recommendations/useRecommendationShelf.sessionFallback.browser.test.tsx (2 tests) 128ms
319
- ✓  browser  test/components/sections/Account/AccountListQuotes.browser.test.tsx (4 tests) 100ms
320
- ✓  browser  test/components/navigation/NavbarAccountArea.browser.test.tsx (4 tests) 44ms
321
- ✓  browser  test/components/CartRecommendationShelf/CartRecommendationProductCard.browser.test.tsx (3 tests) 40ms
322
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 11ms
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
323
328
  stderr | test/components/account/doLogout.browser.test.ts
324
329
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
325
330
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -328,9 +333,9 @@ This ensures that you're testing the behavior the user would see in the browser.
328
333
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
329
334
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
330
335
 
331
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 17ms
332
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (5 tests) 287ms
333
- ✓  browser  test/components/ui/LocalizationButton.browser.test.tsx (3 tests) 38ms
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
334
339
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
335
340
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
336
341
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -339,22 +344,22 @@ This ensures that you're testing the behavior the user would see in the browser.
339
344
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:357:23)
340
345
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
341
346
 
342
- ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (4 tests) 13ms
343
- ✓  browser  test/components/account/orders/DeliveryOptionAccordion.browser.test.tsx (2 tests) 72ms
344
- ✓  browser  test/components/sections/Account/AccountOrderDelivery.browser.test.tsx (2 tests) 74ms
345
- ✓  browser  test/components/sections/Account/AccountOrderStatus.browser.test.tsx (3 tests) 97ms
346
- ✓  browser  test/components/sections/Account/AccountOrdersList.browser.test.tsx (2 tests) 20ms
347
- ✓  browser  test/components/sections/Account/AccountListCards.browser.test.tsx (3 tests) 42ms
348
- ✓  browser  test/components/account/orders/SummaryCard.browser.test.tsx (2 tests) 67ms
349
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionDeliveryInfo.browser.test.tsx (1 test) 31ms
350
- ✓  browser  test/components/account/OrganizationSignInButton.browser.test.tsx (2 tests) 163ms
351
- ✓  browser  test/components/account/orders/StatusCard.browser.test.tsx (2 tests) 82ms
352
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 3ms
353
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
354
- ✓  browser  test/components/account/orders/DeliveryCard.browser.test.tsx (1 test) 38ms
355
- ✓  browser  test/components/account/orders/DeliveryOptionAccordionProducts.browser.test.tsx (1 test) 29ms
356
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 23ms
357
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 18ms
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
358
363
  stderr | test/sdk/account/refreshToken.browser.test.ts
359
364
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
360
365
  at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
@@ -364,16 +369,16 @@ This ensures that you're testing the behavior the user would see in the browser.
364
369
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
365
370
 
366
371
  ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 6ms
367
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 25ms
368
- ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 77ms
372
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 32ms
373
+ ✓  node  test/pages/api/switch-contract.test.ts (25 tests) 64ms
369
374
  ✓  node  test/utils/match-url.test.ts (10 tests) 9ms
370
- ✓  browser  test/components/account/orders/FilterFacetPendingApproval.browser.test.tsx (1 test) 152ms
371
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 9ms
372
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 123ms
373
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 8ms
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
374
378
  stderr | test/components/search/SearchInputComponent.test.tsx
375
379
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
376
380
 
381
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 11ms
377
382
  stderr | test/components/search/SearchInputComponent.test.tsx > SearchInput (OES integration) > renders without crashing
378
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.
379
384
  at div
@@ -434,21 +439,21 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
434
439
  at Suspense
435
440
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
436
441
 
437
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 49ms
438
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (15 tests) 299ms
439
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 33ms
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
440
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
441
446
  { extensions: { status: 401 } }
442
447
 
443
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
444
449
  { extensions: { status: 502 } }
445
450
 
446
- ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 6ms
447
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 802ms
451
+ ✓  node  test/pages/pvt/account/cards/index.test.ts (8 tests) 8ms
452
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (11 tests) 840ms
448
453
  ✓ navigates with the search term on blur  361ms
449
- ✓ navigates without a label param when the search is cleared  358ms
450
- ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 27ms
451
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 10ms
454
+ ✓ navigates without a label param when the search is cleared  359ms
455
+ ✓  node  test/components/quotes/quoteFilters.test.ts (26 tests) 40ms
456
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 17ms
452
457
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
453
458
  Graphql execution returned with error: [
454
459
  {
@@ -458,13 +463,13 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
458
463
  }
459
464
  ]
460
465
 
461
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 8ms
462
466
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates UnauthorizedError status
463
467
  Graphql execution returned with error: [ { message: 'nope', status: 401, type: 'UnauthorizedError' } ]
464
468
 
465
469
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates ForbiddenError status
466
470
  Graphql execution returned with error: [ { message: 'nope', status: 403, type: 'ForbiddenError' } ]
467
471
 
472
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 10ms
468
473
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates NotFoundError status
469
474
  Graphql execution returned with error: [ { message: 'nope', status: 404, type: 'NotFoundError' } ]
470
475
 
@@ -559,72 +564,73 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
559
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)
560
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)
561
566
 
562
- ✓  node  test/pages/api/graphql.test.ts (19 tests) 26ms
563
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 19ms
567
+ ✓  node  test/pages/api/graphql.test.ts (19 tests) 30ms
568
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 30ms
564
569
  ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 5ms
570
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 49ms
565
571
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
566
572
  Set password request failed: Bad Request
567
573
 
568
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 29ms
569
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 29ms
570
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
571
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (8 tests) 127ms
572
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (14 tests) 134ms
573
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (13 tests) 6ms
574
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (10 tests) 76ms
575
- ✓  node  test/utils/localization/hreflang.test.ts (8 tests) 6ms
576
- ✓  node  test/sdk/redirects/index.test.ts (7 tests) 33ms
577
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 44ms
578
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 37ms
579
- ✓  node  test/utils/productJsonLd.test.ts (17 tests) 12ms
580
- ✓  node  test/components/account/orders/getDeliveryOptionLabel.test.ts (21 tests) 5ms
581
- ✓  node  test/proxy.localization.test.ts (5 tests) 33ms
582
- ✓  node  test/sdk/graphql/retryPolicy.test.ts (18 tests) 22ms
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
583
588
  ✓  node  test/server/cms/myAccountDefaultSections.test.ts (9 tests) 5ms
584
- ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 7ms
585
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 30ms
586
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 20ms
587
- ✓  node  test/server/index.test.ts (7 tests) 1131ms
588
- ✓ should handle options and execute  717ms
589
- ✓  node  test/proxy.test.ts (4 tests) 14ms
590
- ✓  node  test/server/webops-api.test.ts (9 tests) 10ms
591
- ✓  node  test/components/account/orders/StatusCard.test.ts (3 tests) 22ms
592
- ✓  node  test/sdk/localization/store-url.test.ts (4 tests) 4ms
593
- ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 9ms
594
- ✓  node  test/utils/productJsonLdRendering.test.tsx (4 tests) 10ms
595
- ✓  node  test/server/content/service.test.ts (5 tests) 3ms
589
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 8ms
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
596
602
  ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 6ms
597
- ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
598
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 31ms
599
- ✓  node  test/components/account/Layout.test.tsx (6 tests) 54ms
600
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 7ms
601
- ✓  node  test/server/rootSpan.test.ts (4 tests) 32ms
602
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 4ms
603
- ✓  node  test/pages/api/preview.test.ts (2 tests) 7ms
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
604
610
  ✓  node  test/components/search/SearchInput.test.ts (6 tests) 6ms
605
- ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 4ms
606
- ✓  node  test/server/cms/index.test.ts (2 tests) 7ms
607
- ✓  node  test/utils/retry.test.ts (5 tests) 12ms
608
- ✓  node  test/sdk/account/getB2BSessionClaims.test.ts (4 tests) 4ms
609
- ✓  node  test/utils/userOrderStatus.test.ts (4 tests) 4ms
610
- ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 183ms
611
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 5ms
612
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 38ms
613
- ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 4ms
614
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 4ms
615
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (4 tests) 26ms
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
616
622
  ✓  node  test/components/account/orders/getOrderTotalLabel.test.ts (6 tests) 4ms
617
623
  ✓  node  test/components/account/orders/listOrdersLabels.test.ts (2 tests) 3ms
618
- ✓  node  test/utils/getCookie.test.ts (4 tests) 4ms
619
- ✓  node  test/sdk/session/isSignInAreaResolved.test.ts (3 tests) 3ms
620
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
621
- ✓  node  test/instrumentation.test.ts (3 tests) 3ms
622
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 27ms
623
- ✓  node  test/components/account/orders/orderDetailsLabels.test.ts (1 test) 3ms
624
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 16ms
624
+ ✓  node  test/utils/getCookie.test.ts (4 tests) 6ms
625
+ ✓  node  test/sdk/session/isSignInAreaResolved.test.ts (3 tests) 4ms
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
625
631
 
626
632
   Test Files  123 passed (123)
627
633
   Tests  965 passed (965)
628
-  Start at  13:58:21
629
-  Duration  44.61s (transform 12.09s, setup 0ms, import 39.88s, tests 17.05s, environment 54.24s)
634
+  Start at  23:50:24
635
+  Duration  59.06s (transform 12.94s, setup 0ms, import 51.90s, tests 21.96s, environment 73.33s)
630
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,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.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
+
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)
13
+
14
+ **Note:** Version bump only for package @faststore/core
15
+
6
16
  # [4.9.0-dev.5](https://github.com/vtex/faststore/compare/v4.9.0-dev.4...v4.9.0-dev.5) (2026-09-29)
7
17
 
8
18
  ### Bug Fixes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faststore/core",
3
- "version": "4.9.0-dev.5",
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/ui": "4.9.0-dev.5",
75
- "@faststore/lighthouse": "4.9.0-dev.5",
76
- "@faststore/api": "4.9.0-dev.5",
77
- "@faststore/sdk": "4.9.0-dev.5",
78
- "@faststore/diagnostics": "4.9.0-dev.5"
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",