@faststore/core 4.4.1-dev.0 → 4.5.0-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/.turbo/turbo-generate.log +4 -4
  2. package/.turbo/turbo-test.log +137 -51
  3. package/@generated/cached-operations.json +4 -0
  4. package/@generated/gql.ts +30 -0
  5. package/@generated/graphql.ts +141 -0
  6. package/@generated/persisted-documents.json +5 -0
  7. package/@generated/schema.graphql +100 -0
  8. package/CHANGELOG.md +26 -0
  9. package/cms/faststore/components/cms_component__recommendationshelf.jsonc +86 -0
  10. package/cms/faststore/schema.json +89 -0
  11. package/discovery.config.default.js +3 -0
  12. package/discovery.config.js +10 -1
  13. package/discovery.config.local.example.js +62 -0
  14. package/package.json +6 -6
  15. package/public/icons.svg +4 -0
  16. package/src/Layout.tsx +6 -0
  17. package/src/components/account/Drawer/OrganizationDrawer/ContractSwitcher/ContractSwitcher.tsx +376 -0
  18. package/src/components/account/Drawer/OrganizationDrawer/ContractSwitcher/index.ts +2 -0
  19. package/src/components/account/Drawer/OrganizationDrawer/OrganizationDrawer.tsx +52 -23
  20. package/src/components/account/Drawer/OrganizationDrawer/OrganizationDrawerBody.tsx +16 -6
  21. package/src/components/account/Drawer/OrganizationDrawer/OrganizationDrawerFooter.tsx +55 -0
  22. package/src/components/account/Drawer/OrganizationDrawer/OrganizationDrawerHeader.tsx +45 -5
  23. package/src/components/account/Drawer/OrganizationDrawer/index.ts +5 -0
  24. package/src/components/account/Drawer/OrganizationDrawer/section.module.scss +452 -54
  25. package/src/components/account/Layout/Layout.tsx +14 -5
  26. package/src/components/account/quotes/MyAccountListQuotes/MyAccountListQuotes.tsx +170 -0
  27. package/src/components/account/quotes/MyAccountListQuotes/MyAccountListQuotesTable/MyAccountListQuotesTable.tsx +194 -0
  28. package/src/components/account/quotes/MyAccountListQuotes/MyAccountListQuotesTable/MyAccountQuoteStatusBadge.tsx +15 -0
  29. package/src/components/account/quotes/MyAccountListQuotes/MyAccountQuotesFilterSlider/MyAccountQuotesFilterSlider.tsx +162 -0
  30. package/src/components/account/quotes/MyAccountListQuotes/MyAccountQuotesFilterSlider/section.module.scss +49 -0
  31. package/src/components/account/quotes/MyAccountListQuotes/MyAccountQuotesSelectedTags/MyAccountQuotesSelectedTags.tsx +125 -0
  32. package/src/components/account/quotes/MyAccountListQuotes/MyAccountQuotesStatusSelector/MyAccountQuotesStatusSelector.tsx +107 -0
  33. package/src/components/account/quotes/MyAccountListQuotes/MyAccountQuotesStatusSelector/styles.module.scss +144 -0
  34. package/src/components/account/quotes/MyAccountListQuotes/index.ts +2 -0
  35. package/src/components/account/quotes/MyAccountListQuotes/quoteFilters.ts +89 -0
  36. package/src/components/account/quotes/MyAccountListQuotes/styles.module.scss +174 -0
  37. package/src/components/cms/global/Components.ts +10 -0
  38. package/src/components/sections/ProductGallery/ProductGallery.tsx +1 -1
  39. package/src/components/sections/RecommendationShelf/RecommendationShelf.tsx +223 -0
  40. package/src/components/sections/RecommendationShelf/RecommendationShelf.types.ts +111 -0
  41. package/src/components/sections/RecommendationShelf/index.ts +1 -0
  42. package/src/components/sections/RecommendationShelf/section.module.scss +49 -0
  43. package/src/components/sections/RecommendationShelf/useRecommendationUserId.ts +49 -0
  44. package/src/components/sections/RecommendationShelf/useRecommendations.ts +55 -0
  45. package/src/components/sections/RecommendationShelf/vrn.ts +55 -0
  46. package/src/customizations/src/myAccount/extensions/quotes/after.tsx +5 -0
  47. package/src/customizations/src/myAccount/extensions/quotes/before.tsx +5 -0
  48. package/src/pages/[slug]/p.tsx +45 -0
  49. package/src/pages/pvt/account/quotes/index.tsx +264 -0
  50. package/src/sdk/account/changeContractToken.ts +119 -0
  51. package/src/sdk/account/clearPersistedSessionState.ts +26 -0
  52. package/src/sdk/account/getMyAccountRoutes.ts +7 -0
  53. package/src/sdk/account/refreshToken.ts +21 -8
  54. package/src/sdk/account/useAvailableContracts.ts +49 -0
  55. package/src/sdk/account/useSwitchContract.ts +60 -0
  56. package/src/sdk/analytics/hooks/useStartRecommendationSession.ts +96 -0
  57. package/src/sdk/analytics/utils.ts +9 -0
  58. package/src/utils/quoteStatus.ts +27 -0
  59. package/src/utils/retry.ts +69 -0
  60. package/test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx +235 -0
  61. package/test/components/RecommendationShelf/useRecommendationUserId.test.ts +69 -0
  62. package/test/components/RecommendationShelf/useRecommendations.test.ts +52 -0
  63. package/test/components/RecommendationShelf/vrn.test.ts +56 -0
  64. package/test/components/account/ContractSwitcher.browser.test.tsx +236 -0
  65. package/test/components/account/Layout.test.tsx +62 -0
  66. package/test/components/account/OrganizationDrawer.browser.test.tsx +197 -0
  67. package/test/components/account/OrganizationDrawerBody.test.tsx +52 -0
  68. package/test/components/account/OrganizationDrawerFooter.browser.test.tsx +54 -0
  69. package/test/components/account/OrganizationDrawerHeader.browser.test.tsx +55 -0
  70. package/test/components/account/doLogout.browser.test.ts +102 -0
  71. package/test/components/quotes/MyAccountListQuotes.test.tsx +232 -0
  72. package/test/components/quotes/MyAccountListQuotesTable.test.tsx +240 -0
  73. package/test/components/quotes/MyAccountQuoteStatusBadge.test.tsx +28 -0
  74. package/test/components/quotes/MyAccountQuotesFilterSlider.test.tsx +152 -0
  75. package/test/components/quotes/MyAccountQuotesSelectedTags.test.tsx +122 -0
  76. package/test/components/quotes/MyAccountQuotesStatusSelector.test.tsx +85 -0
  77. package/test/components/quotes/quoteFilters.test.ts +185 -0
  78. package/test/sdk/account/changeContractToken.browser.test.ts +157 -0
  79. package/test/sdk/account/clearPersistedSessionState.browser.test.ts +41 -0
  80. package/test/sdk/account/clearPersistedSessionState.test.ts +20 -0
  81. package/test/sdk/account/getMyAccountRoutes.test.ts +90 -0
  82. package/test/sdk/account/refreshToken.browser.test.ts +34 -0
  83. package/test/sdk/account/refreshToken.test.ts +87 -0
  84. package/test/sdk/account/useAvailableContracts.browser.test.ts +124 -0
  85. package/test/sdk/account/useSwitchContract.browser.test.ts +111 -0
  86. package/test/sdk/analytics/useStartRecommendationSession.test.ts +69 -0
  87. package/test/sdk/analytics/utils.test.ts +23 -0
  88. package/test/server/index.test.ts +5 -0
  89. package/test/utils/retry.test.ts +59 -0
@@ -1,9 +1,9 @@
1
1
 
2
- > @faststore/core@4.4.0 generate /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.5.0-dev.0 generate /home/runner/work/faststore/faststore/packages/core
3
3
  > pnpm run gen-types && pnpm run cache-graphql
4
4
 
5
5
 
6
- > @faststore/core@4.4.0 gen-types /home/runner/work/faststore/faststore/packages/core
6
+ > @faststore/core@4.5.0-dev.0 gen-types /home/runner/work/faststore/faststore/packages/core
7
7
  > node ../cli/bin/run generate-types .
8
8
 
9
9
  [STARTED] Parse Configuration
@@ -19,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.4.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
22
+ > @faststore/core@4.5.0-dev.0 cache-graphql /home/runner/work/faststore/faststore/packages/core
23
23
  > node ../cli/bin/run cache-graphql --config=./discovery.config.default.js --queries=./@generated/persisted-documents.json
24
24
 
25
25
  [Info] - Config file location: /home/runner/work/faststore/faststore/packages/core/discovery.config.default.js
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: ServerAccountPageQuery, ServerCollectionPageQuery, ServerProductQuery, ServerOrderDetailsQuery, ServerListOrdersQuery, ServerProfileQuery, ServerSecurity, ServerUserDetailsQuery, ValidateUser, ClientPickupPointsQuery, OrderEntryOperationQuery, OrderFormItemsQuery, ClientProductCountQuery, ClientAllVariantProductsQuery, ClientManyProductsQueryWithSearchId, ClientProductGalleryQuery, ClientProductQuery, ClientManyProductsQuery, ClientManyProductsSelectedQuery, ClientProfileQuery, ClientSearchSuggestionsQuery, ClientTopSearchSuggestionsQuery, ClientShippingSimulationQuery, ServerManyProductsQuery
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
@@ -1,12 +1,44 @@
1
1
 
2
- > @faststore/core@4.4.0 test /home/runner/work/faststore/faststore/packages/core
2
+ > @faststore/core@4.5.0-dev.0 test /home/runner/work/faststore/faststore/packages/core
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v4.0.7 /home/runner/work/faststore/faststore/packages/core
7
7
 
8
- ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 24ms
9
- ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 25ms
8
+ ✓  browser  test/sdk/session/reconcileSessionLocale.browser.test.ts (5 tests) 44ms
9
+ stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx
10
+ Error in optimistic validation: TypeError: Failed to parse URL from /api/graphql?operationName=ValidateCartMutation&operationHash=32c15f8888ca34f223def7972b7f19090808435a
11
+  at node:internal/deps/undici/undici:16416:13
12
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
13
+ at baseRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:42:20)
14
+ at GraphqlRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:130:20)
15
+ at request (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:154:5)
16
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:115:46)
17
+ at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:14)
18
+ at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:17) {
19
+ [cause]: TypeError: Invalid URL
20
+  at new URL (node:internal/url:828:25)
21
+ at new URL$1 (file:///home/runner/work/faststore/faststore/node_modules/.pnpm/vitest@4.0.7_@types+node@20.19.13_jiti@2.6.1_jsdom@27.4.0_sass@1.97.3_terser@5.46.0_tsx@4.21.0_yaml@2.8.2/node_modules/vitest/dist/chunks/index.CWIFvlX5.js:469:9)
22
+  at new Request (node:internal/deps/undici/undici:10971:25)
23
+  at fetch (node:internal/deps/undici/undici:11891:25)
24
+  at fetch (node:internal/deps/undici/undici:16414:10)
25
+  at fetch (node:internal/bootstrap/web/exposed-window-or-worker:83:12)
26
+ at POSTRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:91:10)
27
+ at baseRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:42:61)
28
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
29
+ at GraphqlRequest (/home/runner/work/faststore/faststore/packages/core/src/sdk/graphql/request.ts:130:20) {
30
+ code: 'ERR_INVALID_URL',
31
+ input: '/api/graphql?operationName=ValidateCartMutation&operationHash=32c15f8888ca34f223def7972b7f19090808435a'
32
+ }
33
+ }
34
+
35
+ stderr | test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx > RecommendationShelf > renders nothing when there is an error
36
+ Error fetching recommendations undefined boom for campaign vrn:recommendations:acc:rec-top-items-v2:campaign-1
37
+
38
+ ✓  browser  test/components/RecommendationShelf/RecommendationShelf.browser.test.tsx (8 tests) 254ms
39
+ ✓  browser  test/components/account/ContractSwitcher.browser.test.tsx (13 tests) 2294ms
40
+ ✓ shows an error state when the list fails to load  682ms
41
+ ✓ requires selecting a contract before Confirm is enabled, then switches (REQ-03)  325ms
10
42
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > posts the password and redirects to the requested return path
11
43
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
12
44
 
@@ -92,13 +124,6 @@ act(() => {
92
124
  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
93
125
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
94
126
 
95
- stderr | test/sdk/localization/store-url.browser.test.ts
96
- Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
97
- at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
98
- at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
99
- at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
100
-  at processTicksAndRejections (node:internal/process/task_queues:103:5)
101
-
102
127
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > uses the fallback invalid-password message when API omits an error
103
128
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
104
129
 
@@ -147,7 +172,6 @@ act(() => {
147
172
  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
148
173
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
149
174
 
150
- ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 19ms
151
175
  stderr | test/pages/password-protection.browser.test.tsx > PasswordProtectionLogin > shows service unavailable when the response is not a login payload
152
176
  Warning: An update to PasswordProtectionLogin inside a test was not wrapped in act(...).
153
177
 
@@ -244,16 +268,57 @@ act(() => {
244
268
  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
245
269
  at PasswordProtectionLogin (/home/runner/work/faststore/faststore/packages/core/src/pages/password-protection/index.tsx:19:69)
246
270
 
247
- ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1472ms
248
- ✓ renders the password protection form  605ms
249
- ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 21ms
250
- ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 89ms
251
- ✓  node  test/server/password-protection-service.test.ts (22 tests) 141ms
252
- ✓  node  test/utils/match-url.test.ts (10 tests) 30ms
253
- ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 13ms
254
- ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 29ms
255
- ✓  node  test/pages/api/unlock.test.ts (15 tests) 994ms
256
- ✓ returns 405 for non-POST requests  626ms
271
+ ✓  browser  test/pages/password-protection.browser.test.tsx (6 tests) 1479ms
272
+ ✓ renders the password protection form  659ms
273
+ ✓  browser  test/sdk/session/getInitialSession.browser.test.ts (6 tests) 19ms
274
+ ✓  browser  test/sdk/account/changeContractToken.browser.test.ts (9 tests) 90ms
275
+ ✓  browser  test/components/account/OrganizationDrawer.browser.test.tsx (5 tests) 2251ms
276
+ ✓ renders the menu view with contract details and manage footer  1053ms
277
+ ✓ opens the contract switcher and returns to the menu on back  529ms
278
+ ✓ resets to the menu when the drawer closes  349ms
279
+ stderr | test/sdk/localization/store-url.browser.test.ts
280
+ Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
281
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
282
+ at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
283
+ at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
284
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
285
+
286
+ ✓  browser  test/sdk/localization/store-url.browser.test.ts (3 tests) 14ms
287
+ ✓  browser  test/sdk/account/useAvailableContracts.browser.test.ts (6 tests) 132ms
288
+ ✓  browser  test/sdk/account/useSwitchContract.browser.test.ts (4 tests) 155ms
289
+ stderr | test/components/account/doLogout.browser.test.ts
290
+ Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
291
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
292
+ at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
293
+ at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
294
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
295
+
296
+ ✓  browser  test/components/account/doLogout.browser.test.ts (1 test) 61ms
297
+ stderr | test/sdk/account/clearPersistedSessionState.browser.test.ts
298
+ Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
299
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
300
+ at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
301
+ at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
302
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
303
+
304
+ ✓  browser  test/components/account/OrganizationDrawerHeader.browser.test.tsx (3 tests) 285ms
305
+ ✓  browser  test/components/account/OrganizationDrawerFooter.browser.test.tsx (3 tests) 317ms
306
+ ✓  browser  test/sdk/account/clearPersistedSessionState.browser.test.ts (1 test) 9ms
307
+ ✓  browser  test/utils/isLocalHost.browser.test.ts (3 tests) 4ms
308
+ ✓  browser  test/sdk/session/reconcileSessionLocale.disabled.browser.test.ts (1 test) 3ms
309
+ stderr | test/sdk/account/refreshToken.browser.test.ts
310
+ Error in optimistic validation: TypeError: Cannot read properties of undefined (reading 'read')
311
+ at validateCart (/home/runner/work/faststore/faststore/packages/core/src/sdk/cart/index.ts:119:27)
312
+ at onValidate (/home/runner/work/faststore/faststore/packages/core/src/sdk/useStore.ts:18:20)
313
+ at a (/home/runner/work/faststore/faststore/packages/sdk/dist/es/index.mjs:354:23)
314
+  at processTicksAndRejections (node:internal/process/task_queues:103:5)
315
+
316
+ ✓  node  test/utils/localization/bindingPaths.test.ts (71 tests) 31ms
317
+ ✓  browser  test/sdk/account/refreshToken.browser.test.ts (1 test) 4ms
318
+ ✓  node  test/utils/match-url.test.ts (10 tests) 8ms
319
+ ✓  node  test/server/password-protection-service.test.ts (22 tests) 38ms
320
+ ✓  node  test/sdk/localization/bindingSelector.test.ts (18 tests) 10ms
321
+ ✓  node  test/pages/api/unlock.test.ts (15 tests) 175ms
257
322
  stderr | test/components/search/SearchInputComponent.test.tsx
258
323
  Warning: forwardRef render functions accept exactly two parameters: props and ref. Did you forget to use the ref parameter?
259
324
 
@@ -317,18 +382,23 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
317
382
  at Suspense
318
383
  at Wrapper (/home/runner/work/faststore/faststore/packages/core/test/components/search/SearchInputComponent.test.tsx:106:20)
319
384
 
320
- ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 251ms
321
- ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 32ms
385
+ ✓  node  test/components/search/SearchInputComponent.test.tsx (6 tests) 91ms
322
386
  ✓  node  test/sdk/localization/useBindingSelector.test.tsx (12 tests) 12ms
323
- ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 232ms
324
- ✓  node  test/utils/clearCookies.test.ts (20 tests) 47ms
325
- ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 16ms
326
- ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
387
+ ✓  node  test/utils/cookieCacheBusting.test.ts (10 tests) 17ms
388
+ ✓  node  test/sdk/search/useSearchHistory.test.ts (13 tests) 58ms
389
+ ✓  node  test/utils/clearCookies.test.ts (20 tests) 21ms
390
+ ✓  node  test/components/quotes/MyAccountListQuotesTable.test.tsx (12 tests) 316ms
327
391
  stderr | test/sdk/account/useSetPassword.test.ts > useSetPassword > maps wrongcredentials error responses to the existing message
328
392
  Set password request failed: Bad Request
329
393
 
330
- ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 63ms
331
- ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 44ms
394
+ ✓  node  test/sdk/account/useSetPassword.test.ts (6 tests) 30ms
395
+ ✓  node  test/components/quotes/quoteFilters.test.ts (23 tests) 24ms
396
+ ✓  node  test/components/quotes/MyAccountListQuotes.test.tsx (9 tests) 835ms
397
+ ✓ navigates with the search term on blur  359ms
398
+ ✓ navigates without a label param when the search is cleared  363ms
399
+ ✓  node  test/utils/multipleTemplates.test.ts (8 tests) 7ms
400
+ ✓  node  test/utils/localization/localizeRedirectDestination.test.ts (11 tests) 6ms
401
+ ✓  node  test/sdk/orderEntry/useOrderEntryOperation.test.ts (8 tests) 30ms
332
402
  stderr | test/pages/api/graphql.test.ts > /api/graphql error status propagation > propagates the upstream 400 from a wrapped BadRequestError instead of 500
333
403
  Graphql execution returned with error: [
334
404
  {
@@ -375,30 +445,46 @@ Warning: React does not recognize the `providerProps` prop on a DOM element. If
375
445
  { message: 'bad', status: 400, type: 'BadRequestError' }
376
446
  ]
377
447
 
378
- ✓  node  test/pages/api/graphql.test.ts (10 tests) 18ms
379
- ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 47ms
380
- ✓  node  test/proxy.localization.test.ts (5 tests) 79ms
381
- ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 43ms
382
- ✓  node  test/proxy.test.ts (4 tests) 19ms
383
- ✓  node  test/server/index.test.ts (7 tests) 737ms
448
+ ✓  node  test/pages/api/graphql.test.ts (10 tests) 25ms
449
+ ✓  node  test/sdk/orderEntry/useOrderEntryUpload.test.ts (8 tests) 36ms
450
+ ✓  node  test/sdk/orderEntry/useOrderEntry.test.ts (8 tests) 50ms
451
+ ✓  node  test/components/quotes/MyAccountQuotesFilterSlider.test.tsx (5 tests) 173ms
452
+ ✓  node  test/proxy.localization.test.ts (5 tests) 76ms
453
+ ✓  node  test/server/index.test.ts (7 tests) 1060ms
454
+ ✓ should handle options and execute  540ms
455
+ ✓  node  test/proxy.test.ts (4 tests) 20ms
456
+ ✓  node  test/server/webops-api.test.ts (9 tests) 18ms
457
+ ✓  node  test/components/quotes/MyAccountQuotesSelectedTags.test.tsx (8 tests) 98ms
384
458
  ✓  node  test/sdk/orderEntry/useOrderFormItems.test.ts (7 tests) 32ms
385
- ✓  node  test/server/webops-api.test.ts (9 tests) 17ms
386
- ✓  node  test/server/cms/global.test.ts (3 tests) 4ms
387
- ✓  node  test/sdk/localization/store-url.test.ts (1 test) 6ms
388
- ✓  node  test/server/content/service.test.ts (5 tests) 5ms
389
- ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 6ms
390
- ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 28ms
459
+ ✓  node  test/server/cms/global.test.ts (3 tests) 5ms
460
+ ✓  node  test/sdk/account/refreshToken.test.ts (5 tests) 8ms
461
+ ✓  node  test/sdk/account/getMyAccountRoutes.test.ts (8 tests) 14ms
462
+ ✓  node  test/server/content/service.test.ts (5 tests) 7ms
463
+ ✓  node  test/sdk/localization/store-url.test.ts (1 test) 4ms
464
+ ✓  node  test/sdk/auth/useAuth.test.ts (5 tests) 21ms
465
+ ✓  node  test/utils/getRequestHostname.test.ts (12 tests) 5ms
466
+ ✓  node  test/components/quotes/MyAccountQuotesStatusSelector.test.tsx (6 tests) 143ms
467
+ ✓  node  test/pages/api/preview.test.ts (2 tests) 10ms
468
+ ✓  node  test/components/search/SearchInput.test.ts (6 tests) 7ms
391
469
  ✓  node  test/utils/validateSessionRefreshToken.test.ts (6 tests) 5ms
392
- ✓  node  test/pages/api/preview.test.ts (2 tests) 15ms
393
- ✓  node  test/components/search/SearchInput.test.ts (6 tests) 9ms
470
+ ✓  node  test/sdk/analytics/useStartRecommendationSession.test.ts (3 tests) 31ms
471
+ ✓  node  test/components/RecommendationShelf/vrn.test.ts (5 tests) 6ms
472
+ ✓  node  test/components/RecommendationShelf/useRecommendationUserId.test.ts (4 tests) 193ms
473
+ ✓  node  test/components/account/Layout.test.tsx (4 tests) 83ms
474
+ ✓  node  test/server/cms/index.test.ts (2 tests) 6ms
475
+ ✓  node  test/utils/retry.test.ts (5 tests) 14ms
394
476
  ✓  node  test/utils/unlockResponse.test.ts (11 tests) 6ms
395
- ✓  node  test/server/cms/index.test.ts (2 tests) 4ms
477
+ ✓  node  test/components/RecommendationShelf/useRecommendations.test.ts (2 tests) 5ms
396
478
  ✓  node  test/utils/isLocalHost.test.ts (7 tests) 5ms
397
- ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 3ms
398
- ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 25ms
399
-
400
-  Test Files  41 passed (41)
401
-  Tests  378 passed (378)
402
-  Start at  15:10:05
403
-  Duration  24.64s (transform 6.17s, setup 0ms, collect 17.28s, tests 4.67s, environment 33.63s, prepare 964ms)
479
+ ✓  node  test/utils/userOrderStatus.test.ts (3 tests) 4ms
480
+ ✓  node  test/components/account/OrganizationDrawerBody.test.tsx (3 tests) 54ms
481
+ ✓  node  test/components/auth/ProfileChallenge.test.tsx (3 tests) 43ms
482
+ ✓  node  test/sdk/analytics/utils.test.ts (2 tests) 4ms
483
+ ✓  node  test/sdk/account/clearPersistedSessionState.test.ts (1 test) 20ms
484
+ ✓  node  test/components/quotes/MyAccountQuoteStatusBadge.test.tsx (2 tests) 25ms
485
+
486
+  Test Files  70 passed (70)
487
+  Tests  539 passed (539)
488
+  Start at  21:43:08
489
+  Duration  36.60s (transform 8.50s, setup 0ms, collect 29.72s, tests 11.44s, environment 48.51s, prepare 1.27s)
404
490
 
@@ -1,12 +1,16 @@
1
1
  [
2
+ "ClientRecommendationsQuery",
2
3
  "ServerAccountPageQuery",
3
4
  "ServerCollectionPageQuery",
4
5
  "ServerProductQuery",
5
6
  "ServerOrderDetailsQuery",
6
7
  "ServerListOrdersQuery",
7
8
  "ServerProfileQuery",
9
+ "ServerListQuotesQuery",
10
+ "ServerQuotesOrganizationMemberQuery",
8
11
  "ServerSecurity",
9
12
  "ServerUserDetailsQuery",
13
+ "AvailableContractsQuery",
10
14
  "ValidateUser",
11
15
  "ClientPickupPointsQuery",
12
16
  "OrderEntryOperationQuery",
package/@generated/gql.ts CHANGED
@@ -18,6 +18,7 @@ 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 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 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,
21
22
  "\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 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,
22
23
  "\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 }\n }\n additionalProperty {\n propertyID\n value\n name\n valueReference\n }\n }\n }\n }\n }\n": typeof types.ProductSkuMatrixSidebarFragment_ProductFragmentDoc,
23
24
  "\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,
@@ -35,11 +36,15 @@ type Documents = {
35
36
  "\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\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 storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerOrderDetailsQueryDocument,
36
37
  "\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": typeof types.ServerListOrdersQueryDocument,
37
38
  "\n query ServerProfileQuery {\n accountProfile {\n name\n email\n id\n }\n }\n": typeof types.ServerProfileQueryDocument,
39
+ "\n query ServerListQuotesQuery ($page: Int, $perPage: Int, $status: [String], $createdAtFrom: String, $createdAtTo: String, $expiresAtFrom: String, $expiresAtTo: String, $label: String) {\n listUserQuotes (page: $page, perPage: $perPage, status: $status, createdAtFrom: $createdAtFrom, createdAtTo: $createdAtTo, expiresAtFrom: $expiresAtFrom, expiresAtTo: $expiresAtTo, label: $label) {\n list {\n id\n status\n label\n createdAt\n expiresAt\n amount\n createdBy\n }\n paging {\n total\n currentPage\n perPage\n }\n }\n }\n": typeof types.ServerListQuotesQueryDocument,
40
+ "\n query ServerQuotesOrganizationMemberQuery {\n isOrganizationMember\n }\n": typeof types.ServerQuotesOrganizationMemberQueryDocument,
38
41
  "\n query ServerSecurity {\n accountProfile {\n name\n }\n userDetails {\n email\n }\n }\n": typeof types.ServerSecurityDocument,
39
42
  "\n query ServerUserDetailsQuery {\n accountProfile {\n name\n }\n userDetails {\n username\n name\n email\n phone\n role\n orgUnit\n }\n }\n": typeof types.ServerUserDetailsQueryDocument,
43
+ "\n query AvailableContractsQuery($orgUnitId: String!) {\n availableContracts(orgUnitId: $orgUnitId) {\n id\n corporateName\n isActive\n }\n }\n": typeof types.AvailableContractsQueryDocument,
40
44
  "\n mutation CancelOrderMutation($data: IUserOrderCancel!) {\n cancelOrder(data: $data) {\n data\n }\n }\n": typeof types.CancelOrderMutationDocument,
41
45
  "\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,
42
46
  "\n query ValidateUser {\n validateUser {\n isValid\n }\n }\n": typeof types.ValidateUserDocument,
47
+ "\n mutation StartRecommendationSession {\n startRecommendationSession\n }\n": typeof types.StartRecommendationSessionDocument,
43
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 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,
44
49
  "\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,
45
50
  "\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n": typeof types.SubscribeToNewsletterDocument,
@@ -65,6 +70,7 @@ const documents: Documents = {
65
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 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,
66
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,
67
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 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,
68
74
  "\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 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,
69
75
  "\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 }\n }\n additionalProperty {\n propertyID\n value\n name\n valueReference\n }\n }\n }\n }\n }\n": types.ProductSkuMatrixSidebarFragment_ProductFragmentDoc,
70
76
  "\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,
@@ -82,11 +88,15 @@ const documents: Documents = {
82
88
  "\n query ServerOrderDetailsQuery($orderId: String!) {\n userOrder(orderId: $orderId) {\n orderId\n creationDate\n status\n canProcessOrderAuthorization\n statusDescription\n allowCancellation\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 storePreferencesData {\n currencyCode\n }\n clientProfileData {\n firstName\n lastName\n email\n phone\n corporateName\n isCorporate\n }\n customFields {\n type\n id\n fields {\n name\n value\n refId\n }\n }\n deliveryOptionsData {\n deliveryOptions {\n selectedSla\n deliveryChannel\n deliveryCompany\n deliveryWindow {\n startDateUtc\n endDateUtc\n price\n }\n shippingEstimate\n shippingEstimateDate\n friendlyShippingEstimate\n friendlyDeliveryOptionName\n seller\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n pickupStoreInfo {\n additionalInfo\n address {\n addressType\n receiverName\n addressId\n versionId\n entityId\n postalCode\n city\n state\n country\n street\n number\n neighborhood\n complement\n reference\n geoCoordinates\n }\n dockId\n friendlyName\n isPickupStore\n }\n quantityOfDifferentItems\n total\n items {\n id\n uniqueId\n name\n quantity\n price\n sellingPrice\n imageUrl\n tax\n taxPriceTagsTotal\n total\n }\n }\n contact {\n email\n phone\n name\n }\n }\n paymentData {\n transactions {\n isActive\n payments {\n id\n paymentSystemName\n value\n installments\n referenceValue\n lastDigits\n url\n group\n tid\n connectorResponses {\n authId\n }\n bankIssuedInvoiceIdentificationNumber\n redemptionCode\n paymentOrigin\n }\n }\n }\n totals {\n id\n name\n value\n }\n shopper {\n firstName\n lastName\n email\n phone\n }\n budgetData {\n budgets {\n id\n name\n balance {\n remaining\n }\n allocations {\n id\n linkedEntity {\n id\n }\n reservations\n }\n }\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerOrderDetailsQueryDocument,
83
89
  "\n query ServerListOrdersQuery ($page: Int,$perPage: Int, $status: [String], $dateInitial: String, $dateFinal: String, $text: String, $clientEmail: String, $pendingMyApproval: Boolean) {\n listUserOrders (page: $page, perPage: $perPage, status: $status, dateInitial: $dateInitial, dateFinal: $dateFinal, text: $text, clientEmail: $clientEmail, pendingMyApproval: $pendingMyApproval) {\n list {\n orderId\n creationDate\n clientName\n items {\n seller\n quantity\n description\n ean\n refId\n id\n productId\n sellingPrice\n price\n }\n totalValue\n status\n statusDescription\n ShippingEstimatedDate\n currencyCode\n customFields {\n type\n value\n }\n }\n paging {\n total\n pages\n currentPage\n perPage\n }\n }\n accountProfile {\n name\n }\n }\n": types.ServerListOrdersQueryDocument,
84
90
  "\n query ServerProfileQuery {\n accountProfile {\n name\n email\n id\n }\n }\n": types.ServerProfileQueryDocument,
91
+ "\n query ServerListQuotesQuery ($page: Int, $perPage: Int, $status: [String], $createdAtFrom: String, $createdAtTo: String, $expiresAtFrom: String, $expiresAtTo: String, $label: String) {\n listUserQuotes (page: $page, perPage: $perPage, status: $status, createdAtFrom: $createdAtFrom, createdAtTo: $createdAtTo, expiresAtFrom: $expiresAtFrom, expiresAtTo: $expiresAtTo, label: $label) {\n list {\n id\n status\n label\n createdAt\n expiresAt\n amount\n createdBy\n }\n paging {\n total\n currentPage\n perPage\n }\n }\n }\n": types.ServerListQuotesQueryDocument,
92
+ "\n query ServerQuotesOrganizationMemberQuery {\n isOrganizationMember\n }\n": types.ServerQuotesOrganizationMemberQueryDocument,
85
93
  "\n query ServerSecurity {\n accountProfile {\n name\n }\n userDetails {\n email\n }\n }\n": types.ServerSecurityDocument,
86
94
  "\n query ServerUserDetailsQuery {\n accountProfile {\n name\n }\n userDetails {\n username\n name\n email\n phone\n role\n orgUnit\n }\n }\n": types.ServerUserDetailsQueryDocument,
95
+ "\n query AvailableContractsQuery($orgUnitId: String!) {\n availableContracts(orgUnitId: $orgUnitId) {\n id\n corporateName\n isActive\n }\n }\n": types.AvailableContractsQueryDocument,
87
96
  "\n mutation CancelOrderMutation($data: IUserOrderCancel!) {\n cancelOrder(data: $data) {\n data\n }\n }\n": types.CancelOrderMutationDocument,
88
97
  "\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,
89
98
  "\n query ValidateUser {\n validateUser {\n isValid\n }\n }\n": types.ValidateUserDocument,
99
+ "\n mutation StartRecommendationSession {\n startRecommendationSession\n }\n": types.StartRecommendationSessionDocument,
90
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 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,
91
101
  "\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,
92
102
  "\n mutation SubscribeToNewsletter($data: IPersonNewsletter!) {\n subscribeToNewsletter(data: $data) {\n id\n }\n }\n": types.SubscribeToNewsletterDocument,
@@ -121,6 +131,10 @@ export function gql(source: "\n fragment Filter_facets on StoreFacet {\n ...
121
131
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
122
132
  */
123
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 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;
124
138
  /**
125
139
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
126
140
  */
@@ -189,6 +203,14 @@ export function gql(source: "\n query ServerListOrdersQuery ($page: Int,$perPag
189
203
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
190
204
  */
191
205
  export function gql(source: "\n query ServerProfileQuery {\n accountProfile {\n name\n email\n id\n }\n }\n"): typeof import('./graphql').ServerProfileQueryDocument;
206
+ /**
207
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
208
+ */
209
+ export function gql(source: "\n query ServerListQuotesQuery ($page: Int, $perPage: Int, $status: [String], $createdAtFrom: String, $createdAtTo: String, $expiresAtFrom: String, $expiresAtTo: String, $label: String) {\n listUserQuotes (page: $page, perPage: $perPage, status: $status, createdAtFrom: $createdAtFrom, createdAtTo: $createdAtTo, expiresAtFrom: $expiresAtFrom, expiresAtTo: $expiresAtTo, label: $label) {\n list {\n id\n status\n label\n createdAt\n expiresAt\n amount\n createdBy\n }\n paging {\n total\n currentPage\n perPage\n }\n }\n }\n"): typeof import('./graphql').ServerListQuotesQueryDocument;
210
+ /**
211
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
212
+ */
213
+ export function gql(source: "\n query ServerQuotesOrganizationMemberQuery {\n isOrganizationMember\n }\n"): typeof import('./graphql').ServerQuotesOrganizationMemberQueryDocument;
192
214
  /**
193
215
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
194
216
  */
@@ -197,6 +219,10 @@ export function gql(source: "\n query ServerSecurity {\n accountProfile {\n
197
219
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
198
220
  */
199
221
  export function gql(source: "\n query ServerUserDetailsQuery {\n accountProfile {\n name\n }\n userDetails {\n username\n name\n email\n phone\n role\n orgUnit\n }\n }\n"): typeof import('./graphql').ServerUserDetailsQueryDocument;
222
+ /**
223
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
224
+ */
225
+ export function gql(source: "\n query AvailableContractsQuery($orgUnitId: String!) {\n availableContracts(orgUnitId: $orgUnitId) {\n id\n corporateName\n isActive\n }\n }\n"): typeof import('./graphql').AvailableContractsQueryDocument;
200
226
  /**
201
227
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
202
228
  */
@@ -209,6 +235,10 @@ export function gql(source: "\n mutation ProcessOrderAuthorizationMutation($dat
209
235
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
210
236
  */
211
237
  export function gql(source: "\n query ValidateUser {\n validateUser {\n isValid\n }\n }\n"): typeof import('./graphql').ValidateUserDocument;
238
+ /**
239
+ * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
240
+ */
241
+ export function gql(source: "\n mutation StartRecommendationSession {\n startRecommendationSession\n }\n"): typeof import('./graphql').StartRecommendationSessionDocument;
212
242
  /**
213
243
  * The gql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.
214
244
  */