placementt-core 1.400.1260 → 1.400.1262
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/lib/callables/__tests__/outreach.test.js +42 -34
- package/lib/callables/__tests__/outreach.test.js.map +1 -1
- package/lib/callables/outreach.d.ts +274 -233
- package/lib/callables/outreach.js +83 -63
- package/lib/callables/outreach.js.map +1 -1
- package/lib/callables/registry.d.ts +530 -458
- package/lib/featureMarketing.d.ts +6 -10
- package/lib/featureMarketing.js +15 -17
- package/lib/featureMarketing.js.map +1 -1
- package/lib/featureMarketing.test.js +3 -3
- package/lib/featureMarketing.test.js.map +1 -1
- package/lib/features/global/users/useUserFunctions.d.ts +0 -3
- package/lib/features/global/users/useUserFunctions.js +1 -15
- package/lib/features/global/users/useUserFunctions.js.map +1 -1
- package/lib/firebase/callableJobContext.js +0 -3
- package/lib/firebase/callableJobContext.js.map +1 -1
- package/lib/typeDefinitions.d.ts +157 -114
- package/lib/util.js +1 -1
- package/package.json +1 -1
- package/src/callables/__tests__/outreach.test.ts +42 -35
- package/src/callables/outreach.ts +85 -64
- package/src/featureMarketing.test.ts +3 -3
- package/src/featureMarketing.ts +18 -23
- package/src/features/global/users/useUserFunctions.tsx +1 -17
- package/src/firebase/callableJobContext.ts +0 -3
- package/src/typeDefinitions.ts +140 -74
- package/src/util.ts +1 -1
|
@@ -10,48 +10,62 @@ const samples = {
|
|
|
10
10
|
},
|
|
11
11
|
"outreach-setStatus": {
|
|
12
12
|
request: { urn: 100000, status: "deferred", deferUntil: "2027-09-28", reason: "Next year" },
|
|
13
|
-
response: { urn: 100000, status: "deferred",
|
|
13
|
+
response: { urn: 100000, status: "deferred", senderSynced: true, affectedUrns: [100000] },
|
|
14
14
|
},
|
|
15
15
|
"outreach-setGroup": {
|
|
16
16
|
request: { urn: 100000, group: "Derby" },
|
|
17
|
-
response: { urn: 100000, group: "Derby",
|
|
17
|
+
response: { urn: 100000, group: "Derby", senderSynced: true, affectedUrns: [100000] },
|
|
18
18
|
},
|
|
19
19
|
"outreach-convertToLead": {
|
|
20
20
|
request: { urn: 100000, lead: { forename: "Jo", surname: "Bloggs", email: "jo@test.sch.uk", organisation: "Test School", assignee: "uid1" } },
|
|
21
21
|
response: { leadId: "lead1" },
|
|
22
22
|
},
|
|
23
|
-
"outreach-
|
|
24
|
-
request: {
|
|
25
|
-
response: {
|
|
26
|
-
},
|
|
27
|
-
"outreach-setupBrevo": {
|
|
28
|
-
request: {},
|
|
29
|
-
response: { folderId: 12, customersListId: 80, webhookId: 5, attributesCreated: ["URN"] },
|
|
23
|
+
"outreach-setupWoodpecker": {
|
|
24
|
+
request: { coldCampaigns: { secondary: 11, college: 12 }, customerCampaignId: 13 },
|
|
25
|
+
response: { subscribed: ["campaign_sent"], mailboxes: 5, blacklistQueued: 40 },
|
|
30
26
|
},
|
|
31
|
-
"outreach-
|
|
32
|
-
request: {},
|
|
33
|
-
response: {
|
|
27
|
+
"outreach-migrateWoodpecker": {
|
|
28
|
+
request: { dryRun: true },
|
|
29
|
+
response: { dryRun: true, migrated: 1000, requeued: 25 },
|
|
34
30
|
},
|
|
35
|
-
"outreach-
|
|
36
|
-
request: {
|
|
37
|
-
response: {
|
|
31
|
+
"outreach-importBrevoSuppression": {
|
|
32
|
+
request: { dryRun: true },
|
|
33
|
+
response: { dryRun: true, scanned: 20000, blacklisted: 300, hardBounced: 120, written: 0 },
|
|
38
34
|
},
|
|
39
35
|
"outreach-runSweep": {
|
|
40
36
|
request: { step: "reconcile" },
|
|
41
|
-
response: { undeferred: 0,
|
|
37
|
+
response: { undeferred: 0, domainMatches: 0, blacklistPushed: 2, reconcile: { unknownInWoodpecker: 0, toRemove: 0 } },
|
|
42
38
|
},
|
|
43
39
|
"outreach-runSequence": {
|
|
44
40
|
request: { dryRun: true },
|
|
45
|
-
response: {
|
|
41
|
+
response: {
|
|
42
|
+
date: "2026-11-03", dryRun: true, tranches: [{ date: "2026-11-03", secondary: 45, college: 5 }],
|
|
43
|
+
capacity: { mailboxes: 4, dailyLimit: 160, weekly: 800, scheduled: 300, available: 500 },
|
|
44
|
+
starts: 50, blocked: [{ urn: 100000, reason: "Trust hold" }],
|
|
45
|
+
},
|
|
46
46
|
},
|
|
47
47
|
"outreach-setSequenceConfig": {
|
|
48
|
-
request: {
|
|
49
|
-
steps: { secondary: [{ templateId: 12, subject: "Work experience" }] },
|
|
50
|
-
},
|
|
48
|
+
request: { dailyBatch: 50, onlyGroups: ["Derby"] },
|
|
51
49
|
response: { saved: true },
|
|
52
50
|
},
|
|
51
|
+
"outreach-saveCustomerSend": {
|
|
52
|
+
request: { name: "Autumn update", campaignId: 44, sendDate: "2026-11-10", packages: ["institutes-one"], products: ["wex"], includeLeads: true },
|
|
53
|
+
response: { id: "c1", recipients: 120, warnings: [] },
|
|
54
|
+
},
|
|
55
|
+
"outreach-testCustomerSend": {
|
|
56
|
+
request: { id: "c1" },
|
|
57
|
+
response: { testedAt: "2026-10-30T10:00:00.000Z" },
|
|
58
|
+
},
|
|
59
|
+
"outreach-approveCustomerSend": {
|
|
60
|
+
request: { id: "c1" },
|
|
61
|
+
response: { date: "2026-11-10", added: false },
|
|
62
|
+
},
|
|
63
|
+
"outreach-cancelCustomerSend": {
|
|
64
|
+
request: { id: "c1" },
|
|
65
|
+
response: { status: "cancelled" },
|
|
66
|
+
},
|
|
53
67
|
"outreach-setFeatures": {
|
|
54
|
-
request: { coldSequence: true,
|
|
68
|
+
request: { coldSequence: true, senderSync: false },
|
|
55
69
|
response: { saved: true },
|
|
56
70
|
},
|
|
57
71
|
"outreach-pauseSequence": {
|
|
@@ -71,16 +85,16 @@ const samples = {
|
|
|
71
85
|
response: { oId: "o1", urn: 100000 },
|
|
72
86
|
},
|
|
73
87
|
"outreach-saveMonthlySend": {
|
|
74
|
-
request: { month: "2026-11",
|
|
88
|
+
request: { month: "2026-11", campaigns: { secondary: { campaignId: 40, subject: "November" } }, sendDate: "2026-11-10", testEmails: ["tom@careerthread.co.uk"] },
|
|
75
89
|
response: { id: "m1", recipients: { total: 900, secondary: 800, college: 100 }, date: "2026-11-10", warnings: [] },
|
|
76
90
|
},
|
|
77
91
|
"outreach-testMonthlySend": {
|
|
78
92
|
request: { id: "m1" },
|
|
79
|
-
response: {
|
|
93
|
+
response: { testedAt: "2026-10-30T10:00:00.000Z" },
|
|
80
94
|
},
|
|
81
95
|
"outreach-approveMonthlySend": {
|
|
82
96
|
request: { id: "m1" },
|
|
83
|
-
response: { date: "2026-11-10",
|
|
97
|
+
response: { date: "2026-11-10", added: false },
|
|
84
98
|
},
|
|
85
99
|
"outreach-controlMonthlySend": {
|
|
86
100
|
request: { id: "m1", action: "cancel" },
|
|
@@ -130,21 +144,15 @@ describe("outreach contracts", () => {
|
|
|
130
144
|
expect(outreach_1.outreachCallables["outreach-linkInstitute"].request.safeParse({ oId: "o1", trustUid: "5000" }).success).toBe(true);
|
|
131
145
|
expect(outreach_1.outreachCallables["outreach-resolveReview"].request.safeParse({ reviewId: "r", action: "linkTrust", trustUid: "5000" }).success).toBe(true);
|
|
132
146
|
});
|
|
133
|
-
it("needs only a month and a
|
|
134
|
-
const
|
|
135
|
-
expect(outreach_1.outreachCallables["outreach-saveMonthlySend"].request.safeParse({ month: "2026-11",
|
|
136
|
-
expect(outreach_1.outreachCallables["outreach-saveMonthlySend"].request.safeParse({ month: "Nov",
|
|
147
|
+
it("needs only a month and a campaign for a monthly email", () => {
|
|
148
|
+
const campaigns = { secondary: { campaignId: 1, subject: "S" } };
|
|
149
|
+
expect(outreach_1.outreachCallables["outreach-saveMonthlySend"].request.safeParse({ month: "2026-11", campaigns }).success).toBe(true);
|
|
150
|
+
expect(outreach_1.outreachCallables["outreach-saveMonthlySend"].request.safeParse({ month: "Nov", campaigns }).success).toBe(false);
|
|
137
151
|
});
|
|
138
152
|
it("rejects an unknown review action and a bad allowlist email", () => {
|
|
139
153
|
expect(outreach_1.outreachCallables["outreach-resolveReview"].request.safeParse({ reviewId: "r", action: "delete" }).success).toBe(false);
|
|
140
154
|
expect(outreach_1.outreachCallables["outreach-setSequenceConfig"].request.safeParse({ allowlist: ["nope"] }).success).toBe(false);
|
|
141
155
|
});
|
|
142
|
-
it("has no referral templates or referral sends", () => {
|
|
143
|
-
const steps = { secondary: [{ templateId: 1, subject: "S" }], referral: [{ templateId: 2, subject: "R" }] };
|
|
144
|
-
expect(outreach_1.outreachCallables["outreach-setSequenceConfig"].request.parse({ steps }).steps).toEqual({ secondary: [{ templateId: 1, subject: "S" }] });
|
|
145
|
-
expect(outreach_1.outreachCallables["outreach-runSequence"].response
|
|
146
|
-
.safeParse({ date: "2026-11-03", dryRun: true, sends: [{ step: 1, variant: "referral", count: 1 }], starts: 1, blocked: [] }).success).toBe(false);
|
|
147
|
-
});
|
|
148
156
|
it("rejects an empty upload", () => {
|
|
149
157
|
expect(outreach_1.outreachCallables["outreach-upsertContacts"].request.safeParse({ rows: [] }).success).toBe(false);
|
|
150
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outreach.test.js","sourceRoot":"","sources":["../../../src/callables/__tests__/outreach.test.ts"],"names":[],"mappings":";;AAAA,0CAA8C;AAE9C;yDACyD;AACzD,MAAM,OAAO,GAAmF;IAC5F,yBAAyB,EAAE;QACvB,OAAO,EAAE,EAAC,IAAI,EAAE,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,kBAAkB,EAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAC;QACvH,QAAQ,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAC,CAAC,EAAC;KACjJ;IACD,oBAAoB,EAAE;QAClB,OAAO,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAC;QACzF,QAAQ,EAAE,EAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"outreach.test.js","sourceRoot":"","sources":["../../../src/callables/__tests__/outreach.test.ts"],"names":[],"mappings":"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"}
|