Skip to content

Commit 017e10b

Browse files
[FSSDK-11529] Impression event logic adjustment for holdouts (#1076)
1 parent 27d6a24 commit 017e10b

File tree

8 files changed

+671
-46
lines changed

8 files changed

+671
-46
lines changed

lib/core/decision_service/index.spec.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ const getHoldoutTestDatafile = () => {
137137
id: 'holdout_running_id',
138138
key: 'holdout_running',
139139
status: 'Running',
140-
includeFlags: [],
141-
excludeFlags: [],
140+
includedFlags: [],
141+
excludedFlags: [],
142142
audienceIds: ['4001'], // age_22 audience
143143
audienceConditions: ['or', '4001'],
144144
variations: [
@@ -159,8 +159,8 @@ const getHoldoutTestDatafile = () => {
159159
id: "holdout_not_bucketed_id",
160160
key: "holdout_not_bucketed",
161161
status: "Running",
162-
includeFlags: [],
163-
excludeFlags: [],
162+
includedFlags: [],
163+
excludedFlags: [],
164164
audienceIds: ['4002'],
165165
audienceConditions: ['or', '4002'],
166166
variations: [
@@ -1940,8 +1940,8 @@ describe('DecisionService', () => {
19401940
id: 'holdout_included_id',
19411941
key: 'holdout_included',
19421942
status: 'Running',
1943-
includeFlags: ['flag_1'],
1944-
excludeFlags: [],
1943+
includedFlags: ['1001'],
1944+
excludedFlags: [],
19451945
audienceIds: ['4002'], // age_40 audience
19461946
audienceConditions: ['or', '4002'],
19471947
variations: [
@@ -1989,8 +1989,8 @@ describe('DecisionService', () => {
19891989
id: 'holdout_included_specific_id',
19901990
key: 'holdout_included_specific',
19911991
status: 'Running',
1992-
includeFlags: ['flag_1'],
1993-
excludeFlags: [],
1992+
includedFlags: ['1001'],
1993+
excludedFlags: [],
19941994
audienceIds: ['4002'], // age_60 audience (age <= 60)
19951995
audienceConditions: ['or', '4002'],
19961996
variations: [
@@ -2176,7 +2176,7 @@ describe('DecisionService', () => {
21762176
if(holdout.id === 'holdout_running_id') {
21772177
return {
21782178
...holdout,
2179-
excludeFlags: ['flag_1']
2179+
excludedFlags: ['1001']
21802180
}
21812181
}
21822182
return holdout;
@@ -2212,8 +2212,8 @@ describe('DecisionService', () => {
22122212
id: 'holdout_second_id',
22132213
key: 'holdout_second',
22142214
status: 'Running',
2215-
includeFlags: [],
2216-
excludeFlags: [],
2215+
includedFlags: [],
2216+
excludedFlags: [],
22172217
audienceIds: [], // no audience requirements
22182218
audienceConditions: [],
22192219
variations: [

lib/event_processor/event_builder/user_event.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import {
2828

2929
import { EventTags, UserAttributes } from '../../shared_types';
3030
import { LoggerFacade } from '../../logging/logger';
31+
import { DECISION_SOURCES } from '../../common_exports';
3132

3233
export type VisitorAttribute = {
3334
entityId: string
@@ -184,8 +185,8 @@ export const buildImpressionEvent = function({
184185
const variationKey = decision.getVariationKey(decisionObj);
185186
const variationId = decision.getVariationId(decisionObj);
186187
const cmabUuid = decisionObj.cmabUuid;
187-
188-
const layerId = experimentId !== null ? getLayerId(configObj, experimentId) : null;
188+
const layerId =
189+
experimentId !== null ? (ruleType === DECISION_SOURCES.HOLDOUT ? '' : getLayerId(configObj, experimentId)) : null;
189190

190191
return {
191192
...buildBaseEvent({

lib/feature_toggle.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@
3131
* flag and all associated checks can be removed from the codebase.
3232
*/
3333

34-
export const holdout = () => false;
34+
export const holdout = () => true;

0 commit comments

Comments
 (0)