Skip to content

Commit 58d12a2

Browse files
authored
fix(headless): ensure capture depends on clientId value (#6608)
1 parent e392c77 commit 58d12a2

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

packages/headless/src/features/commerce/common/base-commerce-api-request-builder.test.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,12 +164,26 @@ describe('#buildBaseCommerceAPIRequest', () => {
164164
expect(request).toHaveProperty('clientId', clientId);
165165
});
166166

167-
it('when #navigatorContext.capture is undefined, sets #context.capture to true', () => {
167+
it('when #navigatorContext.capture is undefined and #navigatorContext.clientId is not empty, sets #context.capture to true', () => {
168+
setNavigatorContext({
169+
clientId: 'some-client-id',
170+
capture: undefined,
171+
});
168172
request = buildBaseCommerceAPIRequest(state, navigatorContext);
169173

170174
expect(request.context.capture).toBe(true);
171175
});
172176

177+
it('when #navigatorContext.capture is undefined and #navigatorContext.clientId is empty, sets #context.capture to false', () => {
178+
setNavigatorContext({
179+
clientId: '',
180+
capture: undefined,
181+
});
182+
request = buildBaseCommerceAPIRequest(state, navigatorContext);
183+
184+
expect(request.context.capture).toBe(false);
185+
});
186+
173187
it('when #navigatorContext.capture is defined, sets #context.capture to its specified value', () => {
174188
setNavigatorContext({
175189
capture: false,

packages/headless/src/features/commerce/common/base-commerce-api-request-builder.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,9 @@ export const buildBaseCommerceAPIRequest = (
4949
: {}),
5050
},
5151
capture:
52-
navigatorContext.capture ?? state.configuration.analytics.enabled,
52+
navigatorContext.capture ??
53+
(state.configuration.analytics.enabled &&
54+
navigatorContext.clientId !== ''),
5355
cart: getProductsFromCartState(state.cart),
5456
source: getAnalyticsSource(state.configuration.analytics),
5557
},

0 commit comments

Comments
 (0)