@simplybusiness/services 2.3.3 → 2.4.0
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.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/index.js +84 -2
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/meta.json +19 -19
- package/dist/cjs/snowplow/SnowplowContext.js +84 -2
- package/dist/cjs/snowplow/SnowplowContext.js.map +2 -2
- package/dist/cjs/snowplow/event-definitions/index.js +84 -2
- package/dist/cjs/snowplow/event-definitions/index.js.map +2 -2
- package/dist/cjs/snowplow/event-definitions/questionnaire/questionnaire.js +84 -2
- package/dist/cjs/snowplow/event-definitions/questionnaire/questionnaire.js.map +2 -2
- package/dist/cjs/snowplow/index.js +84 -2
- package/dist/cjs/snowplow/index.js.map +2 -2
- package/dist/cjs/utils/testUtils.js +84 -2
- package/dist/cjs/utils/testUtils.js.map +2 -2
- package/dist/esm/{chunk-PI33NKP7.js → chunk-LLSH4K4D.js} +2 -2
- package/dist/esm/{chunk-OFQYDVHG.js → chunk-WB3C6L4X.js} +2 -2
- package/dist/esm/{chunk-OQ4YGZGX.js → chunk-YO5FUC73.js} +85 -3
- package/dist/esm/chunk-YO5FUC73.js.map +7 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/meta.json +27 -27
- package/dist/esm/snowplow/SnowplowContext.js +3 -3
- package/dist/esm/snowplow/event-definitions/index.js +2 -2
- package/dist/esm/snowplow/event-definitions/questionnaire/questionnaire.js +1 -1
- package/dist/esm/snowplow/index.js +3 -3
- package/dist/esm/utils/testUtils.js +3 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/snowplow/event-definitions/questionnaire/questionnaire.test.ts +222 -5
- package/src/snowplow/event-definitions/questionnaire/questionnaire.ts +93 -1
- package/dist/esm/chunk-OQ4YGZGX.js.map +0 -7
- /package/dist/esm/{chunk-PI33NKP7.js.map → chunk-LLSH4K4D.js.map} +0 -0
- /package/dist/esm/{chunk-OFQYDVHG.js.map → chunk-WB3C6L4X.js.map} +0 -0
package/package.json
CHANGED
|
@@ -71,6 +71,15 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
71
71
|
});
|
|
72
72
|
});
|
|
73
73
|
|
|
74
|
+
it("should have serviceChannelContext context", () => {
|
|
75
|
+
const event = findEventByName(
|
|
76
|
+
questionnaireEventDefinitions,
|
|
77
|
+
"questionAnswered",
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
expect(event.contexts).toEqual(["serviceChannelContext"]);
|
|
81
|
+
});
|
|
82
|
+
|
|
74
83
|
it("should redact answers", () => {
|
|
75
84
|
const params = {
|
|
76
85
|
section: "test-section",
|
|
@@ -125,7 +134,7 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
125
134
|
|
|
126
135
|
expect(result).toEqual({
|
|
127
136
|
schema:
|
|
128
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
137
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
129
138
|
data: {
|
|
130
139
|
site: "us",
|
|
131
140
|
vertical: "shop",
|
|
@@ -172,7 +181,7 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
172
181
|
|
|
173
182
|
expect(result).toEqual({
|
|
174
183
|
schema:
|
|
175
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
184
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
176
185
|
data: {
|
|
177
186
|
site: "simplybusiness_us",
|
|
178
187
|
vertical: "shop",
|
|
@@ -207,7 +216,7 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
207
216
|
|
|
208
217
|
expect(result).toEqual({
|
|
209
218
|
schema:
|
|
210
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
219
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
211
220
|
data: {
|
|
212
221
|
site: "simplybusiness_uk",
|
|
213
222
|
vertical: "shop",
|
|
@@ -239,7 +248,7 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
239
248
|
|
|
240
249
|
expect(result).toEqual({
|
|
241
250
|
schema:
|
|
242
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
251
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
243
252
|
data: {
|
|
244
253
|
site: "simplybusiness_us",
|
|
245
254
|
vertical: "shop",
|
|
@@ -271,7 +280,7 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
271
280
|
|
|
272
281
|
expect(result).toEqual({
|
|
273
282
|
schema:
|
|
274
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
283
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
275
284
|
data: {
|
|
276
285
|
site: "simplybusiness_us",
|
|
277
286
|
vertical: "shop",
|
|
@@ -577,6 +586,214 @@ describe("questionnaireEventDefinitions", () => {
|
|
|
577
586
|
});
|
|
578
587
|
});
|
|
579
588
|
|
|
589
|
+
describe("primaryDetailSelected pre_filled_source", () => {
|
|
590
|
+
afterEach(() => {
|
|
591
|
+
sessionStorage.clear();
|
|
592
|
+
});
|
|
593
|
+
|
|
594
|
+
it("should include pre_filled_source from params when provided", () => {
|
|
595
|
+
const params = {
|
|
596
|
+
context: {
|
|
597
|
+
site: "simplybusiness_us",
|
|
598
|
+
vertical: "shop",
|
|
599
|
+
},
|
|
600
|
+
answer: "Plumber",
|
|
601
|
+
preFilledSource: "sjp_recommendation",
|
|
602
|
+
};
|
|
603
|
+
|
|
604
|
+
const result = findEventByName(
|
|
605
|
+
questionnaireEventDefinitions,
|
|
606
|
+
"primaryDetailSelected",
|
|
607
|
+
).makePayload(params);
|
|
608
|
+
|
|
609
|
+
expect(result).toHaveProperty("data");
|
|
610
|
+
if ("data" in result) {
|
|
611
|
+
expect(result.data.pre_filled_source).toBe("sjp_recommendation");
|
|
612
|
+
}
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
it("should include pre_filled_source from sessionStorage when available", () => {
|
|
616
|
+
sessionStorage.setItem("preFilledSource", "cross_sell");
|
|
617
|
+
|
|
618
|
+
const params = {
|
|
619
|
+
context: {
|
|
620
|
+
site: "simplybusiness_us",
|
|
621
|
+
vertical: "shop",
|
|
622
|
+
},
|
|
623
|
+
answer: "Plumber",
|
|
624
|
+
};
|
|
625
|
+
|
|
626
|
+
const result = findEventByName(
|
|
627
|
+
questionnaireEventDefinitions,
|
|
628
|
+
"primaryDetailSelected",
|
|
629
|
+
).makePayload(params);
|
|
630
|
+
|
|
631
|
+
expect(result).toHaveProperty("data");
|
|
632
|
+
if ("data" in result) {
|
|
633
|
+
expect(result.data.pre_filled_source).toBe("cross_sell");
|
|
634
|
+
}
|
|
635
|
+
});
|
|
636
|
+
|
|
637
|
+
it("should not include pre_filled_source when not available", () => {
|
|
638
|
+
const params = {
|
|
639
|
+
context: {
|
|
640
|
+
site: "simplybusiness_us",
|
|
641
|
+
vertical: "shop",
|
|
642
|
+
},
|
|
643
|
+
answer: "Plumber",
|
|
644
|
+
};
|
|
645
|
+
|
|
646
|
+
const result = findEventByName(
|
|
647
|
+
questionnaireEventDefinitions,
|
|
648
|
+
"primaryDetailSelected",
|
|
649
|
+
).makePayload(params);
|
|
650
|
+
|
|
651
|
+
expect(result).toHaveProperty("data");
|
|
652
|
+
if ("data" in result) {
|
|
653
|
+
expect(result.data).not.toHaveProperty("pre_filled_source");
|
|
654
|
+
}
|
|
655
|
+
});
|
|
656
|
+
});
|
|
657
|
+
|
|
658
|
+
describe("tradeSelectorClicked", () => {
|
|
659
|
+
it("should create correct payload", () => {
|
|
660
|
+
const result = findEventByName(
|
|
661
|
+
questionnaireEventDefinitions,
|
|
662
|
+
"tradeSelectorClicked",
|
|
663
|
+
).makePayload({});
|
|
664
|
+
|
|
665
|
+
expect(result).toEqual({
|
|
666
|
+
category: "marketing",
|
|
667
|
+
action: "trade_selector_clicked",
|
|
668
|
+
label: "trade selector clicked",
|
|
669
|
+
property: window?.location?.href ?? "",
|
|
670
|
+
});
|
|
671
|
+
});
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
describe("usStateClicked", () => {
|
|
675
|
+
it("should create correct payload", () => {
|
|
676
|
+
const result = findEventByName(
|
|
677
|
+
questionnaireEventDefinitions,
|
|
678
|
+
"usStateClicked",
|
|
679
|
+
).makePayload({});
|
|
680
|
+
|
|
681
|
+
expect(result).toEqual({
|
|
682
|
+
category: "marketing",
|
|
683
|
+
action: "us_state_clicked",
|
|
684
|
+
label: "US state clicked",
|
|
685
|
+
property: window?.location?.href ?? "",
|
|
686
|
+
});
|
|
687
|
+
});
|
|
688
|
+
});
|
|
689
|
+
|
|
690
|
+
describe("usStateErrorMessageDisplayed", () => {
|
|
691
|
+
it("should create correct payload with state value", () => {
|
|
692
|
+
const result = findEventByName(
|
|
693
|
+
questionnaireEventDefinitions,
|
|
694
|
+
"usStateErrorMessageDisplayed",
|
|
695
|
+
).makePayload({ stateValue: "California" });
|
|
696
|
+
|
|
697
|
+
expect(result).toEqual({
|
|
698
|
+
category: "marketing",
|
|
699
|
+
action: "us_state_error_message_displayed",
|
|
700
|
+
label: "US state error message displayed",
|
|
701
|
+
property: "California",
|
|
702
|
+
});
|
|
703
|
+
});
|
|
704
|
+
|
|
705
|
+
it("should handle empty state value", () => {
|
|
706
|
+
const result = findEventByName(
|
|
707
|
+
questionnaireEventDefinitions,
|
|
708
|
+
"usStateErrorMessageDisplayed",
|
|
709
|
+
).makePayload({});
|
|
710
|
+
|
|
711
|
+
expect(result).toEqual({
|
|
712
|
+
category: "marketing",
|
|
713
|
+
action: "us_state_error_message_displayed",
|
|
714
|
+
label: "US state error message displayed",
|
|
715
|
+
property: "",
|
|
716
|
+
});
|
|
717
|
+
});
|
|
718
|
+
});
|
|
719
|
+
|
|
720
|
+
describe("pagesetSectionChanged", () => {
|
|
721
|
+
it("should create correct payload", () => {
|
|
722
|
+
const params = {
|
|
723
|
+
context: {
|
|
724
|
+
site: "simplybusiness_us",
|
|
725
|
+
vertical: "cyber",
|
|
726
|
+
},
|
|
727
|
+
pageIndex: 1,
|
|
728
|
+
pageName: "quick_to_quote",
|
|
729
|
+
sectionName: "Coverage Primary trade",
|
|
730
|
+
sectionIndex: 1,
|
|
731
|
+
sectionComplete: true,
|
|
732
|
+
};
|
|
733
|
+
|
|
734
|
+
const result = findEventByName(
|
|
735
|
+
questionnaireEventDefinitions,
|
|
736
|
+
"pagesetSectionChanged",
|
|
737
|
+
).makePayload(params);
|
|
738
|
+
|
|
739
|
+
expect(result).toEqual({
|
|
740
|
+
schema:
|
|
741
|
+
"iglu:com.simplybusiness/pageset_section_changed/jsonschema/1-0-0",
|
|
742
|
+
data: {
|
|
743
|
+
site: "simplybusiness_us",
|
|
744
|
+
vertical: "cyber",
|
|
745
|
+
page_index: 1,
|
|
746
|
+
page_name: "quick_to_quote",
|
|
747
|
+
section_name: "Coverage Primary trade",
|
|
748
|
+
section_index: 1,
|
|
749
|
+
section_complete: true,
|
|
750
|
+
},
|
|
751
|
+
});
|
|
752
|
+
});
|
|
753
|
+
|
|
754
|
+
it("should have distributionChannelContext and serviceChannelContext contexts", () => {
|
|
755
|
+
const event = findEventByName(
|
|
756
|
+
questionnaireEventDefinitions,
|
|
757
|
+
"pagesetSectionChanged",
|
|
758
|
+
);
|
|
759
|
+
|
|
760
|
+
expect(event.contexts).toEqual([
|
|
761
|
+
"distributionChannelContext",
|
|
762
|
+
"serviceChannelContext",
|
|
763
|
+
]);
|
|
764
|
+
});
|
|
765
|
+
});
|
|
766
|
+
|
|
767
|
+
describe("aiTradeSelectorFindMyBusiness", () => {
|
|
768
|
+
it("should create correct payload with search query", () => {
|
|
769
|
+
const result = findEventByName(
|
|
770
|
+
questionnaireEventDefinitions,
|
|
771
|
+
"aiTradeSelectorFindMyBusiness",
|
|
772
|
+
).makePayload({ searchQuery: "plumbing contractor" });
|
|
773
|
+
|
|
774
|
+
expect(result).toEqual({
|
|
775
|
+
category: "ai_trade_selector_find_my_business_btn",
|
|
776
|
+
action: "click",
|
|
777
|
+
label: "plumbing contractor",
|
|
778
|
+
property: window?.location?.href ?? "",
|
|
779
|
+
});
|
|
780
|
+
});
|
|
781
|
+
|
|
782
|
+
it("should handle empty search query", () => {
|
|
783
|
+
const result = findEventByName(
|
|
784
|
+
questionnaireEventDefinitions,
|
|
785
|
+
"aiTradeSelectorFindMyBusiness",
|
|
786
|
+
).makePayload({});
|
|
787
|
+
|
|
788
|
+
expect(result).toEqual({
|
|
789
|
+
category: "ai_trade_selector_find_my_business_btn",
|
|
790
|
+
action: "click",
|
|
791
|
+
label: "",
|
|
792
|
+
property: window?.location?.href ?? "",
|
|
793
|
+
});
|
|
794
|
+
});
|
|
795
|
+
});
|
|
796
|
+
|
|
580
797
|
describe("questionValidationFailed", () => {
|
|
581
798
|
it("sets the question name in the action and the error message as the label", () => {
|
|
582
799
|
const params = {
|
|
@@ -31,6 +31,7 @@ export const questionnaireEventDefinitions: EventDefinition[] = [
|
|
|
31
31
|
},
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
|
+
contexts: ["serviceChannelContext"],
|
|
34
35
|
},
|
|
35
36
|
{
|
|
36
37
|
name: "primaryDetailSelected",
|
|
@@ -80,9 +81,19 @@ export const questionnaireEventDefinitions: EventDefinition[] = [
|
|
|
80
81
|
data.business_unit = site;
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
// Optional pre-filled source
|
|
85
|
+
const preFilledSource =
|
|
86
|
+
(params as ParamsType).preFilledSource ??
|
|
87
|
+
(typeof sessionStorage !== "undefined"
|
|
88
|
+
? sessionStorage.getItem("preFilledSource")
|
|
89
|
+
: null);
|
|
90
|
+
if (preFilledSource) {
|
|
91
|
+
data.pre_filled_source = preFilledSource;
|
|
92
|
+
}
|
|
93
|
+
|
|
83
94
|
return {
|
|
84
95
|
schema:
|
|
85
|
-
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-
|
|
96
|
+
"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-5-0",
|
|
86
97
|
data,
|
|
87
98
|
};
|
|
88
99
|
},
|
|
@@ -254,4 +265,85 @@ export const questionnaireEventDefinitions: EventDefinition[] = [
|
|
|
254
265
|
};
|
|
255
266
|
},
|
|
256
267
|
},
|
|
268
|
+
{
|
|
269
|
+
name: "tradeSelectorClicked",
|
|
270
|
+
type: "structured",
|
|
271
|
+
makePayload: () => {
|
|
272
|
+
return {
|
|
273
|
+
category: "marketing",
|
|
274
|
+
action: "trade_selector_clicked",
|
|
275
|
+
label: "trade selector clicked",
|
|
276
|
+
property: window?.location?.href ?? "",
|
|
277
|
+
};
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: "usStateClicked",
|
|
282
|
+
type: "structured",
|
|
283
|
+
makePayload: () => {
|
|
284
|
+
return {
|
|
285
|
+
category: "marketing",
|
|
286
|
+
action: "us_state_clicked",
|
|
287
|
+
label: "US state clicked",
|
|
288
|
+
property: window?.location?.href ?? "",
|
|
289
|
+
};
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
name: "usStateErrorMessageDisplayed",
|
|
294
|
+
type: "structured",
|
|
295
|
+
makePayload: params => {
|
|
296
|
+
const { stateValue } = params as ParamsType;
|
|
297
|
+
|
|
298
|
+
return {
|
|
299
|
+
category: "marketing",
|
|
300
|
+
action: "us_state_error_message_displayed",
|
|
301
|
+
label: "US state error message displayed",
|
|
302
|
+
property: stateValue ?? "",
|
|
303
|
+
};
|
|
304
|
+
},
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
name: "pagesetSectionChanged",
|
|
308
|
+
type: "unstructured",
|
|
309
|
+
makePayload: params => {
|
|
310
|
+
const {
|
|
311
|
+
context,
|
|
312
|
+
pageIndex,
|
|
313
|
+
pageName,
|
|
314
|
+
sectionName,
|
|
315
|
+
sectionIndex,
|
|
316
|
+
sectionComplete,
|
|
317
|
+
} = params as ParamsType;
|
|
318
|
+
|
|
319
|
+
return {
|
|
320
|
+
schema:
|
|
321
|
+
"iglu:com.simplybusiness/pageset_section_changed/jsonschema/1-0-0",
|
|
322
|
+
data: {
|
|
323
|
+
site: context.site,
|
|
324
|
+
vertical: context.vertical,
|
|
325
|
+
page_index: pageIndex,
|
|
326
|
+
page_name: pageName,
|
|
327
|
+
section_name: sectionName,
|
|
328
|
+
section_index: sectionIndex,
|
|
329
|
+
section_complete: sectionComplete,
|
|
330
|
+
},
|
|
331
|
+
};
|
|
332
|
+
},
|
|
333
|
+
contexts: ["distributionChannelContext", "serviceChannelContext"],
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
name: "aiTradeSelectorFindMyBusiness",
|
|
337
|
+
type: "structured",
|
|
338
|
+
makePayload: params => {
|
|
339
|
+
const { searchQuery } = params as ParamsType;
|
|
340
|
+
|
|
341
|
+
return {
|
|
342
|
+
category: "ai_trade_selector_find_my_business_btn",
|
|
343
|
+
action: "click",
|
|
344
|
+
label: searchQuery ?? "",
|
|
345
|
+
property: window?.location?.href ?? "",
|
|
346
|
+
};
|
|
347
|
+
},
|
|
348
|
+
},
|
|
257
349
|
];
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/snowplow/event-definitions/questionnaire/questionnaire.ts"],
|
|
4
|
-
"sourcesContent": ["import { DELIMITER } from \"../../constants\";\nimport type { EventDefinition, ParamsType } from \"../../types\";\nimport { redact } from \"./redaction\";\n\n// Questionnaire events\nexport const questionnaireEventDefinitions: EventDefinition[] = [\n {\n name: \"questionAnswered\",\n type: \"unstructured\",\n makePayload: params => {\n const { section, context } = params as ParamsType;\n const { question, answer } = redact(params as ParamsType);\n // Flatten the answer to a delimited string\n const flatAnswer = Array.isArray(answer)\n ? answer.join(DELIMITER)\n : answer;\n\n return {\n schema:\n \"iglu:com.simplybusiness/form_question_answered/jsonschema/1-0-4\",\n data: {\n site: context.site,\n page_index: 1,\n page_name: \"quick_to_quote\",\n submitted_from: \"quick_to_quote_experiment\",\n section_name: section,\n question,\n answer: flatAnswer,\n vertical: context.vertical,\n journey_id: context.journeyId,\n },\n };\n },\n },\n {\n name: \"primaryDetailSelected\",\n type: \"unstructured\",\n makePayload: params => {\n const {\n context,\n answer,\n vertical,\n searchId,\n selectedListPosition,\n selectionMethod,\n } = params as ParamsType;\n const { site } = context;\n const isUSPage = site === \"simplybusiness_us\";\n let verticalName = vertical || context.vertical;\n\n if (verticalName.toLowerCase().indexOf(\"landlord\") > -1) {\n verticalName =\n answer === \"residential\" ? \"Landlord\" : \"Commercial landlord\";\n }\n\n const data: Record<string, unknown> = {\n site,\n vertical: verticalName,\n primary_detail: answer,\n selected_type: \"trade_selector\",\n location: window?.location?.pathname ?? \"\",\n };\n\n // Always include search_id if present\n if (searchId) {\n data.search_id = searchId;\n }\n // Always include selection_method if present\n if (selectionMethod) {\n data.selection_method = selectionMethod;\n }\n\n // US only fields\n if (isUSPage) {\n data.selected_list_position =\n selectedListPosition !== undefined\n ? (selectedListPosition + 1).toString()\n : null;\n data.selected_location = \"trade_selector_vertical\";\n data.business_unit = site;\n }\n\n return {\n schema:\n \"iglu:com.simplybusiness/primary_detail_selected/jsonschema/1-4-0\",\n data,\n };\n },\n contexts: [\"distributionChannelContext\", \"serviceChannelContext\"],\n },\n {\n name: \"helpTextOpened\",\n type: \"unstructured\",\n makePayload: params => {\n const { primaryText, label, context, helpText } = params as ParamsType;\n\n return {\n schema: \"iglu:com.simplybusiness/help_text_opened/jsonschema/1-1-0\",\n data: {\n vertical: context.vertical,\n site: context.site,\n primary_text: primaryText,\n help_text: helpText,\n label,\n page_name: \"quick_to_quote\",\n },\n };\n },\n },\n {\n name: \"assumptionsButtonClicked\",\n type: \"structured\",\n makePayload: params => {\n const { source, presentationGroup } = params as ParamsType;\n\n return {\n action: source,\n category: presentationGroup,\n };\n },\n },\n {\n name: \"navButtonClicked\",\n type: \"structured\",\n makePayload: params => {\n const { label, category } = params as ParamsType;\n\n return {\n label,\n action: \"link_click\",\n category,\n };\n },\n },\n {\n name: \"manualAddressClicked\",\n type: \"structured\",\n makePayload: params => {\n const { category } = params as ParamsType;\n\n return {\n action: \"link_click\",\n category,\n label: \"Enter address manually\",\n };\n },\n },\n {\n name: \"assumptionLinkClicked\",\n type: \"structured\",\n makePayload: params => {\n const { label, category, property } = params as ParamsType;\n\n return {\n action: \"assumption_link_click\",\n category,\n label,\n property,\n };\n },\n },\n {\n name: \"addressLookupFocused\",\n type: \"structured\",\n makePayload: params => {\n const { label, category } = params as ParamsType;\n\n return {\n action: \"address_lookup_focused\",\n category,\n label,\n };\n },\n },\n {\n name: \"addressLookupTypedIn\",\n type: \"structured\",\n makePayload: params => {\n const { label, category } = params as ParamsType;\n\n return {\n action: \"address_lookup_typed_in\",\n category,\n label,\n };\n },\n },\n {\n name: \"addressOptionsDisplayed\",\n type: \"structured\",\n makePayload: params => {\n const { label, category } = params as ParamsType;\n\n return {\n action: \"address_options_displayed\",\n category,\n label,\n };\n },\n },\n {\n name: \"tradeChanged\",\n type: \"structured\",\n makePayload: params => {\n const { label, property } = params as ParamsType;\n\n return {\n action: \"change_your_selected_profession_button_clicked\",\n category: \"change_your_selected_profession_button\",\n label: `Question: ${label}`,\n property, // Answer before change\n };\n },\n },\n {\n name: \"questionValidationFailed\",\n type: \"structured\",\n makePayload: params => {\n const { question, errorMessage } = params as ParamsType;\n\n return {\n category: \"questionnaire\",\n action: `${question} validation failed`,\n label: errorMessage,\n };\n },\n },\n {\n name: \"stateQuestionAnswered\",\n type: \"unstructured\",\n makePayload: params => {\n const { context, answer, selectedCoverages } = params as ParamsType & {\n selectedCoverages?: string[];\n selectedType?: string;\n };\n\n const data: Record<string, string> = {\n vertical: context.vertical,\n selected_type: context.journeyName ?? \"usa\",\n location: window?.location?.pathname ?? \"\",\n url: window?.location?.href ?? \"\",\n state: answer,\n selection_method: \"dropdown\",\n };\n\n if (selectedCoverages?.length) {\n data.products = selectedCoverages.join(\",\");\n }\n\n return {\n schema:\n \"iglu:com.simplybusiness/state_question_answered/jsonschema/1-0-0\",\n data,\n };\n },\n },\n];\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
File without changes
|
|
File without changes
|