@faststore/core 4.6.0-dev.1 → 4.6.0-dev.3

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 (29) hide show
  1. package/.turbo/turbo-generate.log +4 -4
  2. package/.turbo/turbo-test.log +104 -98
  3. package/@generated/cached-operations.json +1 -1
  4. package/@generated/gql.ts +9 -9
  5. package/@generated/graphql.ts +18 -12
  6. package/@generated/persisted-documents.json +2 -2
  7. package/@generated/schema.graphql +6 -0
  8. package/CHANGELOG.md +13 -0
  9. package/package.json +6 -6
  10. package/src/components/sections/RecommendationShelf/README.md +4 -1
  11. package/src/components/sections/RecommendationShelf/RecommendationShelf.tsx +11 -92
  12. package/src/components/sections/RecommendationShelf/RecommendationShelf.types.ts +3 -18
  13. package/src/sdk/cart/index.ts +15 -1
  14. package/src/sdk/cart/waitForSessionValidated.ts +43 -0
  15. package/src/sdk/recommendations/index.ts +17 -0
  16. package/src/sdk/recommendations/types.ts +17 -0
  17. package/src/sdk/recommendations/useRecommendationShelf.ts +141 -0
  18. package/src/{components/sections/RecommendationShelf → sdk/recommendations}/vrn.ts +1 -1
  19. package/src/sdk/session/index.ts +14 -0
  20. package/src/sdk/session/syncSalesChannelFromOrderForm.ts +68 -0
  21. package/test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx +6 -12
  22. package/test/sdk/cart/waitForSessionValidated.test.ts +96 -0
  23. package/test/sdk/recommendations/useRecommendationShelf.browser.test.tsx +199 -0
  24. package/test/{components/RecommendationShelf → sdk/recommendations}/useRecommendationUserId.test.ts +1 -1
  25. package/test/{components/RecommendationShelf → sdk/recommendations}/useRecommendations.test.ts +1 -1
  26. package/test/{components/RecommendationShelf → sdk/recommendations}/vrn.test.ts +1 -4
  27. package/test/sdk/session/syncSalesChannelFromOrderForm.test.ts +125 -0
  28. /package/src/{components/sections/RecommendationShelf → sdk/recommendations}/useRecommendationUserId.ts +0 -0
  29. /package/src/{components/sections/RecommendationShelf → sdk/recommendations}/useRecommendations.ts +0 -0
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.6.0-dev.0 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.0-dev.2 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.6.0-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.6.0-dev.2 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,11 +19,11 @@
19
19
  [COMPLETED] Generate to /home/runner/work/faststore/faststore/packages/core/@generated/
20
20
  [COMPLETED] Generate outputs
21
21
 
22
- > @faststore/core@4.6.0-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.6.0-dev.2 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
26
26
  [Info] - Persisted documents at: /home/runner/work/faststore/faststore/packages/core/@generated/persisted-documents.json
27
27
  [Info] - Cached operations output: /home/runner/work/faststore/faststore/packages/core/@generated/cached-operations.json
28
28
  [Success] - GraphQL queries cached with success: 🎉
29
- Queries: ClientRecommendationsQuery, ServerAccountPageQuery, ServerCollectionPageQuery, ServerProductQuery, ServerOrderDetailsQuery, ServerListOrdersQuery, ServerProfileQuery, ServerListQuotesQuery, ServerQuotesOrganizationMemberQuery, ServerSecurity, ServerUserDetailsQuery, AvailableContractsQuery, ValidateUser, ClientPickupPointsQuery, OrderEntryOperationQuery, OrderFormItemsQuery, ClientProductCountQuery, ClientAllVariantProductsQuery, ClientManyProductsQueryWithSearchId, ClientProductGalleryQuery, ClientProductQuery, ClientManyProductsQuery, ClientManyProductsSelectedQuery, ClientProfileQuery, ClientSearchSuggestionsQuery, ClientTopSearchSuggestionsQuery, ClientShippingSimulationQuery, ServerManyProductsQuery
29
+ Queries: ServerAccountPageQuery, ServerCollectionPageQuery, ServerProductQuery, ServerOrderDetailsQuery, ServerListOrdersQuery, ServerProfileQuery, ServerListQuotesQuery, ServerQuotesOrganizationMemberQuery, ServerSecurity, ServerUserDetailsQuery, AvailableContractsQuery, ValidateUser, ClientPickupPointsQuery, OrderEntryOperationQuery, OrderFormItemsQuery, ClientProductCountQuery, ClientAllVariantProductsQuery, ClientManyProductsQueryWithSearchId, ClientProductGalleryQuery, ClientProductQuery, ClientManyProductsQuery, ClientManyProductsSelectedQuery, ClientProfileQuery, ClientRecommendationsQuery, ClientSearchSuggestionsQuery, ClientTopSearchSuggestionsQuery, ClientShippingSimulationQuery, ServerManyProductsQuery
@@ -1,20 +1,26 @@
1
1
 
2
- > @faststore/core@4.6.0-dev.0 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.6.0-dev.2 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
+ ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 310ms
8
9
  Not implemented: navigation to another Document
9
10
  Not implemented: navigation to another Document
11
+ ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 881ms
12
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2268ms
13
+ ✓ shows an error state when the list fails to load  726ms
14
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  347ms
15
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 27ms
10
16
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
11
- Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=8199d03debb0a6751ec53d8ee8987b78d0292acb
17
+ Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12
12
18
   at node:internal/deps/undici/undici:16416:13
13
19
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
14
20
  at baseRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:42:20)
15
21
  at GraphqlRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:130:20)
16
22
  at request (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:154:5)
17
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:117:46)
23
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:122:46)
18
24
  at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:14)
19
25
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:17) {
20
26
  [cause]: TypeError: Invalid URL
@@ -29,25 +35,18 @@ Not implemented: navigation to another Document
29
35
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
30
36
  at GraphqlRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:130:20) {
31
37
  code: 'ERR_INVALID_URL',
32
- input: '/api/graphql?operationName=ValidateCartMutation&operationHash=8199d03debb0a6751ec53d8ee8987b78d0292acb'
38
+ input: '/api/graphql?operationName=ValidateCartMutation&operationHash=3c71b0d3fc2bade14df68abfa271858beb361b12'
33
39
  }
34
40
  }
35
41
 
36
42
  Browserslist: browsers data (caniuse-lite) is 6 months old. Please run:
37
43
  npx update-browserslist-db@latest
38
44
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
39
- ✓  browser  test/sdk/ui/useScrollRestoration.browser.test.ts (43 tests) 1055ms
40
45
  stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
41
46
  Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
42
47
 
43
- ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 209ms
44
- ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2760ms
45
- ✓ shows an error state when the list fails to load  743ms
46
- ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  391ms
47
- ✓ does not reload when the switch returns false  308ms
48
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 63ms
49
- ✓  browser  test/components/ui/ProductGallery/GalleryPageHeightLock.browser.test.tsx (8 tests) 252ms
50
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 26ms
48
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 244ms
49
+ ✓  browser  test/sdk/recommendations/useRecommendationShelf.browser.test.tsx (10 tests) 104ms
51
50
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
52
51
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
53
52
 
@@ -277,57 +276,62 @@ act(() => {
277
276
  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
278
277
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
279
278
 
280
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1700ms
281
- ✓ renders the password protection form  845ms
282
- ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 1546ms
283
- ✓ renders the menu view with contract details and manage footer  853ms
284
- ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 112ms
279
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 844ms
280
+ ✓ renders the password protection form  351ms
281
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 13ms
282
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 26ms
283
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 919ms
284
+ ✓ renders the menu view with contract details and manage footer  455ms
285
285
  stderr | test/sdk/localization/store-url.browser.test.ts
286
286
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
287
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:121:27)
287
+ at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
288
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
288
289
  at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
289
290
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
290
291
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
291
292
 
292
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 10ms
293
- ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 41ms
294
- ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 38ms
295
- ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 43ms
293
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 11ms
294
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 32ms
295
+ ✓  browser  test/components/templates/SearchPage/SearchWrapper.browser.test.tsx (3 tests) 27ms
296
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 34ms
296
297
  stderr | test/components/account/doLogout.browser.test.ts
297
298
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
298
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:121:27)
299
+ at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
300
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
299
301
  at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
300
302
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
301
303
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
302
304
 
303
- ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 18ms
304
- ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 295ms
305
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 21ms
306
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 191ms
305
307
  stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
306
308
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
307
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:121:27)
309
+ at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
310
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
308
311
  at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
309
312
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
310
313
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
311
314
 
312
- ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 8ms
313
- ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 255ms
314
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 5ms
315
+ ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 4ms
316
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 253ms
317
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 4ms
315
318
  ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
316
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 29ms
319
+ ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 31ms
320
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 21ms
321
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 26ms
317
322
  stderr | test/sdk/account/refreshToken.browser.test.ts
318
323
  Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
319
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:121:27)
324
+ at waitForSessionValidated (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/waitForSessionValidated.ts:16:32)
325
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:120:9)
320
326
  at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
321
327
  at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
322
328
   at processTicksAndRejections (node:internal/process/task_queues:103:5)
323
329
 
330
+ ✓  node  test/utils/match-url.test.ts (10 tests) 8ms
324
331
  ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 4ms
325
- ✓  browser  test/components/skeletons/ProductGridSkeleton.browser.test.tsx (2 tests) 48ms
326
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 38ms
327
- ✓  node  test/utils/match-url.test.ts (10 tests) 10ms
328
- ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 14ms
329
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 284ms
330
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 11ms
332
+ ✓  node  test/sdk/localization/useBindingSelector.test.tsx (22 tests) 12ms
333
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 125ms
334
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 7ms
331
335
  stderr | test/components/search/SearchInputComponent.test.tsx
332
336
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
333
337
 
@@ -391,11 +395,11 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
391
395
  at Suspense
392
396
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
393
397
 
394
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 63ms
395
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 11ms
396
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 63ms
397
- ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 11ms
398
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 23ms
398
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 68ms
399
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 8ms
400
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 51ms
401
+ ✓  node  test/experimental/myAccountCmsServerSideProps.test.ts (5 tests) 7ms
402
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 17ms
399
403
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
400
404
  Graphql execution returned with error: [
401
405
  {
@@ -444,7 +448,7 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
444
448
 
445
449
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps BadRequestError thrown by execute to its status
446
450
  Something unexpected occurred querying Graphql endpoint:
447
- _ [FastStoreError]: malformed
451
+ T [FastStoreError]: malformed
448
452
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:190:31
449
453
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
450
454
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
@@ -460,7 +464,7 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
460
464
 
461
465
  stderr | test/pages/api/graphql.test.ts > /api/graphql request handling > maps UnauthorizedError thrown by execute to its status
462
466
  Something unexpected occurred querying Graphql endpoint:
463
- te [FastStoreError]: expired
467
+ re [FastStoreError]: expired
464
468
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:191:33
465
469
  at /home/runner/work/faststore/faststore/packages/core/test/pages/api/graphql.test.ts:196:39
466
470
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1024:60
@@ -488,62 +492,64 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
488
492
  at file:///home/runner/work/faststore/faststore/node_modules/.pnpm/@vitest+runner@4.0.18/node_modules/@vitest/runner/dist/index.js:1653:37
489
493
  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)
490
494
 
491
- ✓  node  test/pages/api/graphql.test.ts (17 tests) 39ms
492
- ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 424ms
493
- ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 847ms
494
- ✓ navigates with the search term on blur  363ms
495
- ✓ navigates without a label param when the search is cleared  357ms
495
+ ✓  node  test/pages/api/graphql.test.ts (17 tests) 30ms
496
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 302ms
497
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 28ms
496
498
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
497
499
  Set password request failed: Bad Request
498
500
 
499
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 32ms
500
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 41ms
501
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 7ms
502
- ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 28ms
501
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 31ms
502
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 830ms
503
+ ✓ navigates with the search term on blur  361ms
504
+ ✓ navigates without a label param when the search is cleared  361ms
505
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 5ms
506
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 29ms
503
507
  ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
504
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 54ms
505
- ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 198ms
506
- ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 51ms
507
- ✓  node  test/server/index.test.ts (7 tests) 809ms
508
- ✓ should return a valid merged GraphQL schema  315ms
509
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 42ms
510
- ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 7ms
511
- ✓  node  test/proxy.localization.test.ts (5 tests) 49ms
512
- ✓  node  test/proxy.test.ts (4 tests) 21ms
513
- ✓  node  test/server/webops-api.test.ts (9 tests) 14ms
514
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
515
- ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 46ms
516
- ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 112ms
517
- ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 9ms
518
- ✓  node  test/server/cms/global.test.ts (3 tests) 6ms
519
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 4ms
520
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 29ms
508
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 42ms
509
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 121ms
510
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (6 tests) 47ms
511
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 28ms
512
+ ✓  node  test/proxy.localization.test.ts (5 tests) 23ms
513
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (10 tests) 6ms
514
+ ✓  node  test/sdk/session/syncSalesChannelFromOrderForm.test.ts (6 tests) 5ms
515
+ ✓  node  test/server/index.test.ts (7 tests) 874ms
516
+ ✓ should handle options and execute  439ms
517
+ ✓  node  test/proxy.test.ts (4 tests) 18ms
518
+ ✓  node  test/server/webops-api.test.ts (9 tests) 11ms
519
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 81ms
520
+ ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 36ms
521
+ ✓  node  test/server/content/service.test.ts (5 tests) 4ms
522
+ ✓  node  test/sdk/cart/waitForSessionValidated.test.ts (5 tests) 10ms
523
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 7ms
524
+ ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
525
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 3ms
526
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 26ms
527
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 110ms
521
528
  ✓  node  test/sdk/analytics/hasEnabledRecommendationShelf.test.ts (6 tests) 4ms
522
- ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 143ms
523
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 8ms
524
- ✓  node  test/pages/api/preview.test.ts (2 tests) 11ms
525
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 6ms
526
- ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 6ms
527
- ✓  node  test/server/rootSpan.test.ts (4 tests) 39ms
528
- ✓  node  test/components/RecommendationShelf/vrn.test.ts (5 tests) 7ms
529
- ✓  node  test/server/cms/index.test.ts (2 tests) 6ms
530
- ✓  node  test/utils/retry.test.ts (5 tests) 19ms
531
- ✓  node  test/components/account/Layout.test.tsx (4 tests) 42ms
532
- ✓  node  test/components/RecommendationShelf/useRecommendationUserId.test.ts (4 tests) 183ms
533
- ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
534
- ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 4ms
535
- ✓  node  test/components/RecommendationShelf/useRecommendations.test.ts (2 tests) 4ms
536
- ✓  node  test/utils/isLocalHost.test.ts (7 tests) 6ms
537
- ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 42ms
538
- ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 4ms
539
- ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
540
- ✓  node  test/instrumentation.test.ts (3 tests) 7ms
541
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 33ms
542
- ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 12ms
543
- ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 25ms
544
-
545
-  Test Files  79 passed (79)
546
-  Tests  640 passed (640)
547
-  Start at  23:16:25
548
-  Duration  41.03s (transform 8.89s, setup 0ms, import 34.03s, tests 12.55s, environment 53.93s)
529
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 5ms
530
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 6ms
531
+ ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 4ms
532
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 5ms
533
+ ✓  node  test/server/rootSpan.test.ts (4 tests) 30ms
534
+ ✓  node  test/sdk/recommendations/vrn.test.ts (5 tests) 4ms
535
+ ✓  node  test/server/cms/index.test.ts (2 tests) 5ms
536
+ ✓  node  test/utils/retry.test.ts (5 tests) 10ms
537
+ ✓  node  test/components/account/Layout.test.tsx (4 tests) 34ms
538
+ ✓  node  test/sdk/recommendations/useRecommendationUserId.test.ts (4 tests) 184ms
539
+ ✓  node  test/utils/unlockResponse.test.ts (11 tests) 3ms
540
+ ✓  node  test/server/cms/myAccountDefaultSections.test.ts (5 tests) 5ms
541
+ ✓  node  test/sdk/recommendations/useRecommendations.test.ts (2 tests) 3ms
542
+ ✓  node  test/utils/isLocalHost.test.ts (7 tests) 4ms
543
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 41ms
544
+ ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
545
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 3ms
546
+ ✓  node  test/instrumentation.test.ts (3 tests) 4ms
547
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 32ms
548
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 14ms
549
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 23ms
550
+
551
+  Test Files  82 passed (82)
552
+  Tests  661 passed (661)
553
+  Start at  15:05:26
554
+  Duration  29.73s (transform 6.68s, setup 0ms, import 23.96s, tests 9.74s, environment 38.48s)
549
555
 
@@ -1,5 +1,4 @@
1
1
  [
2
- "ClientRecommendationsQuery",
3
2
  "ServerAccountPageQuery",
4
3
  "ServerCollectionPageQuery",
5
4
  "ServerProductQuery",
@@ -23,6 +22,7 @@
23
22
  "ClientManyProductsQuery",
24
23
  "ClientManyProductsSelectedQuery",
25
24
  "ClientProfileQuery",
25
+ "ClientRecommendationsQuery",
26
26
  "ClientSearchSuggestionsQuery",
27
27
  "ClientTopSearchSuggestionsQuery",
28
28
  "ClientShippingSimulationQuery",
package/@generated/gql.ts CHANGED
@@ -18,7 +18,6 @@ type Documents = {
18
18
  "\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\t\tunitMultiplier\n\n isVariantOf {\n productGroupID\n name\n\t\t\tskuVariants {\n\t\t\t\tallVariantsByName\n\t\t\t\tactiveVariations\n\t\t\t\tslugsMap\n\t\t\t\tavailableVariations\n\t\t\t}\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\n priceWithTaxes\n quantity\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n hasSpecifications\n\n unitMultiplier\n\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n advertisement {\n adId\n adResponseId\n }\n\n deliveryPromiseBadges {\n typeName\n }\n }\n": typeof types.ProductSummary_ProductFragmentDoc,
19
19
  "\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n\n min {\n selected\n absolute\n }\n\n max {\n selected\n absolute\n }\n\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n\n __typename\n }\n }\n": typeof types.Filter_FacetsFragmentDoc,
20
20
  "\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n\t\t\tskuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n quantity\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n": typeof types.ProductDetailsFragment_ProductFragmentDoc,
21
- "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n": typeof types.ClientRecommendationsQueryDocument,
22
21
  "\n fragment ProductComparisonFragment_product on StoreProduct {\n id: productID\n sku\n slug\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n quantity\n listPriceWithTaxes\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n advertisement {\n adId\n adResponseId\n }\n\n hasSpecifications\n\n skuSpecifications {\n field {\n id\n name\n originalName\n }\n values {\n name\n id\n fieldId\n originalName\n }\n }\n\n specificationGroups {\n name\n originalName\n specifications {\n name\n originalName\n values\n }\n }\n }\n": typeof types.ProductComparisonFragment_ProductFragmentDoc,
23
22
  "\n fragment ProductSKUMatrixSidebarFragment_product on StoreProduct {\n id: productID\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n\t\t\t\t\tsku\n name\n image {\n url\n alternateName\n }\n offers {\n highPrice\n lowPrice\n lowPriceWithTaxes\n offerCount\n priceCurrency\n offers {\n listPrice\n listPriceWithTaxes\n sellingPrice\n priceCurrency\n price\n priceWithTaxes\n priceValidUntil\n itemCondition\n availability\n quantity\n priceToken\n }\n }\n additionalProperty {\n propertyID\n value\n name\n valueReference\n }\n }\n }\n }\n }\n": typeof types.ProductSkuMatrixSidebarFragment_ProductFragmentDoc,
24
23
  "\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n sponsoredCount: $sponsoredCount\n\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n }\n": typeof types.ClientManyProductsFragmentDoc,
@@ -45,7 +44,7 @@ type Documents = {
45
44
  "\n mutation ProcessOrderAuthorizationMutation($data: IProcessOrderAuthorization!) {\n processOrderAuthorization(data: $data) {\n isPendingForOtherAuthorizer\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n }\n }\n": typeof types.ProcessOrderAuthorizationMutationDocument,
46
45
  "\n query ValidateUser {\n validateUser {\n isValid\n }\n }\n": typeof types.ValidateUserDocument,
47
46
  "\n mutation StartRecommendationSession {\n startRecommendationSession\n }\n": typeof types.StartRecommendationSessionDocument,
48
- "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n": typeof types.ValidateCartMutationDocument,
47
+ "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n salesChannel\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n": typeof types.ValidateCartMutationDocument,
49
48
  "\n query ClientPickupPointsQuery(\n $geoCoordinates: IStoreGeoCoordinates\n ) {\n pickupPoints(geoCoordinates: $geoCoordinates) {\n pickupPointDistances {\n pickupId\n distance\n pickupName\n isActive\n address {\n city\n state\n number\n postalCode\n street\n }\n }\n }\n }\n": typeof types.ClientPickupPointsQueryDocument,
50
49
  "\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n": typeof types.SubscribeToNewsletterDocument,
51
50
  "\n mutation StartOrderEntryOperationMutation($data: IOrderEntryOperation!) {\n startOrderEntryOperation(data: $data) {\n operationId\n }\n }\n": typeof types.StartOrderEntryOperationMutationDocument,
@@ -60,6 +59,7 @@ type Documents = {
60
59
  "\n query ClientManyProductsQuery(\n $first: Int!\n $after: String\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n $sponsoredCount: Int\n ) {\n ...ClientManyProducts\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n sponsoredCount: $sponsoredCount\n ) {\n products {\n pageInfo {\n totalCount\n }\n edges {\n node {\n ...ProductSummary_product\n }\n }\n }\n }\n }\n": typeof types.ClientManyProductsQueryDocument,
61
60
  "\n query ClientManyProductsSelectedQuery(\n $productIds: [String!]!\n ) {\n products(productIds: $productIds) {\n ...ProductComparisonFragment_product\n }\n }\n": typeof types.ClientManyProductsSelectedQueryDocument,
62
61
  "\n query ClientProfileQuery($id: String!) {\n profile(id: $id) {\n addresses {\n country\n postalCode\n geoCoordinate\n city\n }\n }\n }\n": typeof types.ClientProfileQueryDocument,
62
+ "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n": typeof types.ClientRecommendationsQueryDocument,
63
63
  "\n query ClientSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n products {\n ...ProductSummary_product\n }\n }\n products {\n pageInfo {\n totalCount\n }\n }\n metadata {\n ...SearchEvent_metadata\n }\n searchId\n }\n }\n": typeof types.ClientSearchSuggestionsQueryDocument,
64
64
  "\n query ClientTopSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientTopSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n }\n": typeof types.ClientTopSearchSuggestionsQueryDocument,
65
65
  "\n mutation ValidateSession($session: IStoreSession!, $search: String!) {\n validateSession(session: $session, search: $search) {\n locale\n channel\n country\n addressType\n postalCode\n city\n deliveryMode {\n deliveryChannel\n deliveryMethod\n deliveryWindow {\n startDate\n endDate\n }\n }\n geoCoordinates {\n latitude\n longitude\n }\n currency {\n code\n symbol\n }\n person {\n id\n email\n givenName\n familyName\n }\n b2b {\n customerId\n isRepresentative\n unitName\n unitId\n firstName\n lastName\n userName\n userEmail\n savedPostalCode\n contractName\n organizationManager\n }\n marketingData {\n utmCampaign\n utmMedium\n utmSource\n utmiCampaign\n utmiPage\n utmiPart\n }\n refreshAfter\n }\n }\n": typeof types.ValidateSessionDocument,
@@ -70,7 +70,6 @@ const documents: Documents = {
70
70
  "\n fragment ProductSummary_product on StoreProduct {\n id: productID\n slug\n sku\n brand {\n brandName: name\n }\n name\n gtin\n\t\tunitMultiplier\n\n isVariantOf {\n productGroupID\n name\n\t\t\tskuVariants {\n\t\t\t\tallVariantsByName\n\t\t\t\tactiveVariations\n\t\t\t\tslugsMap\n\t\t\t\tavailableVariations\n\t\t\t}\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n listPrice\n listPriceWithTaxes\n priceWithTaxes\n quantity\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n hasSpecifications\n\n unitMultiplier\n\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n advertisement {\n adId\n adResponseId\n }\n\n deliveryPromiseBadges {\n typeName\n }\n }\n": types.ProductSummary_ProductFragmentDoc,
71
71
  "\n fragment Filter_facets on StoreFacet {\n ... on StoreFacetRange {\n key\n label\n\n min {\n selected\n absolute\n }\n\n max {\n selected\n absolute\n }\n\n __typename\n }\n ... on StoreFacetBoolean {\n key\n label\n values {\n label\n value\n selected\n quantity\n }\n\n __typename\n }\n }\n": types.Filter_FacetsFragmentDoc,
72
72
  "\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n\t\t\tskuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n quantity\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n": types.ProductDetailsFragment_ProductFragmentDoc,
73
- "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n": types.ClientRecommendationsQueryDocument,
74
73
  "\n fragment ProductComparisonFragment_product on StoreProduct {\n id: productID\n sku\n slug\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n quantity\n listPriceWithTaxes\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n advertisement {\n adId\n adResponseId\n }\n\n hasSpecifications\n\n skuSpecifications {\n field {\n id\n name\n originalName\n }\n values {\n name\n id\n fieldId\n originalName\n }\n }\n\n specificationGroups {\n name\n originalName\n specifications {\n name\n originalName\n values\n }\n }\n }\n": types.ProductComparisonFragment_ProductFragmentDoc,
75
74
  "\n fragment ProductSKUMatrixSidebarFragment_product on StoreProduct {\n id: productID\n isVariantOf {\n name\n productGroupID\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n\t\t\t\t\tsku\n name\n image {\n url\n alternateName\n }\n offers {\n highPrice\n lowPrice\n lowPriceWithTaxes\n offerCount\n priceCurrency\n offers {\n listPrice\n listPriceWithTaxes\n sellingPrice\n priceCurrency\n price\n priceWithTaxes\n priceValidUntil\n itemCondition\n availability\n quantity\n priceToken\n }\n }\n additionalProperty {\n propertyID\n value\n name\n valueReference\n }\n }\n }\n }\n }\n": types.ProductSkuMatrixSidebarFragment_ProductFragmentDoc,
76
75
  "\n fragment ClientManyProducts on Query {\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n sponsoredCount: $sponsoredCount\n\n ) {\n products {\n pageInfo {\n totalCount\n }\n }\n }\n }\n": types.ClientManyProductsFragmentDoc,
@@ -97,7 +96,7 @@ const documents: Documents = {
97
96
  "\n mutation ProcessOrderAuthorizationMutation($data: IProcessOrderAuthorization!) {\n processOrderAuthorization(data: $data) {\n isPendingForOtherAuthorizer\n ruleForAuthorization {\n orderAuthorizationId\n dimensionId\n rule {\n id\n name\n status\n doId\n authorizedEmails\n priority\n trigger {\n condition {\n conditionType\n description\n lessThan\n greatherThan\n expression\n }\n effect {\n description\n effectType\n funcPath\n }\n }\n timeout\n notification\n scoreInterval {\n accept\n deny\n }\n authorizationData {\n requireAllApprovals\n authorizers {\n id\n email\n type\n authorizationDate\n }\n }\n isUserAuthorized\n isUserNextAuthorizer\n }\n }\n }\n }\n": types.ProcessOrderAuthorizationMutationDocument,
98
97
  "\n query ValidateUser {\n validateUser {\n isValid\n }\n }\n": types.ValidateUserDocument,
99
98
  "\n mutation StartRecommendationSession {\n startRecommendationSession\n }\n": types.StartRecommendationSessionDocument,
100
- "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n": types.ValidateCartMutationDocument,
99
+ "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n salesChannel\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n": types.ValidateCartMutationDocument,
101
100
  "\n query ClientPickupPointsQuery(\n $geoCoordinates: IStoreGeoCoordinates\n ) {\n pickupPoints(geoCoordinates: $geoCoordinates) {\n pickupPointDistances {\n pickupId\n distance\n pickupName\n isActive\n address {\n city\n state\n number\n postalCode\n street\n }\n }\n }\n }\n": types.ClientPickupPointsQueryDocument,
102
101
  "\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n": types.SubscribeToNewsletterDocument,
103
102
  "\n mutation StartOrderEntryOperationMutation($data: IOrderEntryOperation!) {\n startOrderEntryOperation(data: $data) {\n operationId\n }\n }\n": types.StartOrderEntryOperationMutationDocument,
@@ -112,6 +111,7 @@ const documents: Documents = {
112
111
  "\n query ClientManyProductsQuery(\n $first: Int!\n $after: String\n $sort: StoreSort!\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]!\n $sponsoredCount: Int\n ) {\n ...ClientManyProducts\n search(\n first: $first\n after: $after\n sort: $sort\n term: $term\n selectedFacets: $selectedFacets\n sponsoredCount: $sponsoredCount\n ) {\n products {\n pageInfo {\n totalCount\n }\n edges {\n node {\n ...ProductSummary_product\n }\n }\n }\n }\n }\n": types.ClientManyProductsQueryDocument,
113
112
  "\n query ClientManyProductsSelectedQuery(\n $productIds: [String!]!\n ) {\n products(productIds: $productIds) {\n ...ProductComparisonFragment_product\n }\n }\n": types.ClientManyProductsSelectedQueryDocument,
114
113
  "\n query ClientProfileQuery($id: String!) {\n profile(id: $id) {\n addresses {\n country\n postalCode\n geoCoordinate\n city\n }\n }\n }\n": types.ClientProfileQueryDocument,
114
+ "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n": types.ClientRecommendationsQueryDocument,
115
115
  "\n query ClientSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n products {\n ...ProductSummary_product\n }\n }\n products {\n pageInfo {\n totalCount\n }\n }\n metadata {\n ...SearchEvent_metadata\n }\n searchId\n }\n }\n": types.ClientSearchSuggestionsQueryDocument,
116
116
  "\n query ClientTopSearchSuggestionsQuery(\n $term: String!\n $selectedFacets: [IStoreSelectedFacet!]\n ) {\n ...ClientTopSearchSuggestions\n search(first: 5, term: $term, selectedFacets: $selectedFacets) {\n suggestions {\n terms {\n value\n }\n }\n }\n }\n": types.ClientTopSearchSuggestionsQueryDocument,
117
117
  "\n mutation ValidateSession($session: IStoreSession!, $search: String!) {\n validateSession(session: $session, search: $search) {\n locale\n channel\n country\n addressType\n postalCode\n city\n deliveryMode {\n deliveryChannel\n deliveryMethod\n deliveryWindow {\n startDate\n endDate\n }\n }\n geoCoordinates {\n latitude\n longitude\n }\n currency {\n code\n symbol\n }\n person {\n id\n email\n givenName\n familyName\n }\n b2b {\n customerId\n isRepresentative\n unitName\n unitId\n firstName\n lastName\n userName\n userEmail\n savedPostalCode\n contractName\n organizationManager\n }\n marketingData {\n utmCampaign\n utmMedium\n utmSource\n utmiCampaign\n utmiPage\n utmiPart\n }\n refreshAfter\n }\n }\n": types.ValidateSessionDocument,
@@ -131,10 +131,6 @@ export function gql(source: "\n fragment Filter_facets on StoreFacet {\n ...
131
131
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
132
132
  */
133
133
  export function gql(source: "\n fragment ProductDetailsFragment_product on StoreProduct {\n id: productID\n sku\n name\n gtin\n description\n unitMultiplier\n isVariantOf {\n name\n productGroupID\n\t\t\tskuVariants {\n activeVariations\n slugsMap\n availableVariations\n allVariantProducts {\n name\n productID\n }\n }\n }\n\n image {\n url\n alternateName\n }\n\n brand {\n name\n }\n\n offers {\n lowPrice\n lowPriceWithTaxes\n offers {\n availability\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n quantity\n priceToken\n seller {\n identifier\n }\n }\n }\n\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n\n # Contains necessary info to add this item to cart\n ...CartProductItem\n }\n"): typeof import('./graphql').ProductDetailsFragment_ProductFragmentDoc;
134
- /**
135
- * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
136
- */
137
- export function gql(source: "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n"): typeof import('./graphql').ClientRecommendationsQueryDocument;
138
134
  /**
139
135
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
140
136
  */
@@ -242,7 +238,7 @@ export function gql(source: "\n mutation StartRecommendationSession {\n star
242
238
  /**
243
239
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
244
240
  */
245
- export function gql(source: "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n"): typeof import('./graphql').ValidateCartMutationDocument;
241
+ export function gql(source: "\n mutation ValidateCartMutation($cart: IStoreCart!, $session: IStoreSession!) {\n validateCart(cart: $cart, session: $session) {\n order {\n orderNumber\n salesChannel\n acceptedOffer {\n ...CartItem\n }\n shouldSplitItem\n }\n messages {\n ...CartMessage\n }\n }\n }\n\n fragment CartMessage on StoreCartMessage {\n text\n status\n }\n\n fragment CartItem on StoreOffer {\n seller {\n identifier\n }\n quantity\n price\n priceWithTaxes\n listPrice\n listPriceWithTaxes\n isGift\n priceToken\n itemOffered {\n ...CartProductItem\n }\n }\n\n fragment CartProductItem on StoreProduct {\n sku\n name\n unitMultiplier\n image {\n url\n alternateName\n }\n brand {\n name\n }\n isVariantOf {\n productGroupID\n name\n skuVariants {\n activeVariations\n slugsMap\n availableVariations\n }\n }\n gtin\n additionalProperty {\n propertyID\n name\n value\n valueReference\n }\n }\n"): typeof import('./graphql').ValidateCartMutationDocument;
246
242
  /**
247
243
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
248
244
  */
@@ -299,6 +295,10 @@ export function gql(source: "\n query ClientManyProductsSelectedQuery(\n $pr
299
295
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
300
296
  */
301
297
  export function gql(source: "\n query ClientProfileQuery($id: String!) {\n profile(id: $id) {\n addresses {\n country\n postalCode\n geoCoordinate\n city\n }\n }\n }\n"): typeof import('./graphql').ClientProfileQueryDocument;
298
+ /**
299
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
300
+ */
301
+ export function gql(source: "query ClientRecommendationsQuery(\n $campaignVrn: String!\n $userId: String\n $products: [String!]\n) {\n recommendations(\n userId: $userId\n campaignVrn: $campaignVrn\n products: $products\n ) {\n products {\n ...ProductSummary_product\n }\n correlationId\n campaign {\n id\n title\n type\n }\n }\n}\n"): typeof import('./graphql').ClientRecommendationsQueryDocument;
302
302
  /**
303
303
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
304
304
  */