@memberjunction/entity-communications-server 4.2.0 → 4.3.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.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-communications.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/entity-communications.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
+
vi.mock('@memberjunction/core', () => {
|
|
3
|
+
class MockBaseEngine {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.ContextUser = { ID: 'user-1' };
|
|
6
|
+
this._loaded = true;
|
|
7
|
+
}
|
|
8
|
+
async Load() { this._loaded = true; }
|
|
9
|
+
TryThrowIfNotLoaded() {
|
|
10
|
+
if (!this._loaded)
|
|
11
|
+
throw new Error('Not loaded');
|
|
12
|
+
}
|
|
13
|
+
static getInstance() { return new MockBaseEngine(); }
|
|
14
|
+
}
|
|
15
|
+
return {
|
|
16
|
+
BaseEngine: MockBaseEngine,
|
|
17
|
+
BaseEnginePropertyConfig: class {
|
|
18
|
+
},
|
|
19
|
+
BaseEntity: class {
|
|
20
|
+
},
|
|
21
|
+
EntityInfo: class {
|
|
22
|
+
},
|
|
23
|
+
IMetadataProvider: class {
|
|
24
|
+
},
|
|
25
|
+
LogStatus: vi.fn(),
|
|
26
|
+
Metadata: vi.fn().mockImplementation(function () {
|
|
27
|
+
return { Entities: [] };
|
|
28
|
+
}),
|
|
29
|
+
RunView: vi.fn().mockImplementation(() => ({
|
|
30
|
+
RunView: vi.fn().mockResolvedValue({ Success: true, Results: [] }),
|
|
31
|
+
})),
|
|
32
|
+
RunViewParams: class {
|
|
33
|
+
},
|
|
34
|
+
RunViewResult: class {
|
|
35
|
+
},
|
|
36
|
+
UserInfo: class {
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
vi.mock('@memberjunction/core-entities', () => ({
|
|
41
|
+
EntityCommunicationFieldEntity: class {
|
|
42
|
+
},
|
|
43
|
+
EntityCommunicationMessageTypeEntity: class {
|
|
44
|
+
},
|
|
45
|
+
ListDetailEntityType: class {
|
|
46
|
+
},
|
|
47
|
+
ListEntityType: class {
|
|
48
|
+
},
|
|
49
|
+
TemplateEntityExtended: class {
|
|
50
|
+
},
|
|
51
|
+
TemplateParamEntity: class {
|
|
52
|
+
},
|
|
53
|
+
}));
|
|
54
|
+
vi.mock('@memberjunction/global', () => ({
|
|
55
|
+
RegisterClass: () => () => { },
|
|
56
|
+
}));
|
|
57
|
+
vi.mock('@memberjunction/communication-types', () => ({
|
|
58
|
+
Message: class {
|
|
59
|
+
constructor() {
|
|
60
|
+
this.BodyTemplate = null;
|
|
61
|
+
this.HTMLBodyTemplate = null;
|
|
62
|
+
this.SubjectTemplate = null;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
MessageRecipient: class {
|
|
66
|
+
},
|
|
67
|
+
CommunicationProviderEntityExtended: class {
|
|
68
|
+
},
|
|
69
|
+
CommunicationEngineBase: {
|
|
70
|
+
Instance: {
|
|
71
|
+
Config: vi.fn(),
|
|
72
|
+
Metadata: {
|
|
73
|
+
EntityCommunicationFields: [],
|
|
74
|
+
EntityCommunicationMessageTypes: [],
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
}));
|
|
79
|
+
vi.mock('@memberjunction/communication-engine', () => ({
|
|
80
|
+
CommunicationEngine: {
|
|
81
|
+
Instance: {
|
|
82
|
+
Config: vi.fn(),
|
|
83
|
+
Providers: [],
|
|
84
|
+
SendMessages: vi.fn().mockResolvedValue([]),
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
}));
|
|
88
|
+
vi.mock('@memberjunction/entity-communications-base', () => {
|
|
89
|
+
class MockBase {
|
|
90
|
+
constructor() {
|
|
91
|
+
this.ContextUser = { ID: 'user-1' };
|
|
92
|
+
this._loaded = true;
|
|
93
|
+
}
|
|
94
|
+
async Load() { this._loaded = true; }
|
|
95
|
+
TryThrowIfNotLoaded() {
|
|
96
|
+
if (!this._loaded)
|
|
97
|
+
throw new Error('Not loaded');
|
|
98
|
+
}
|
|
99
|
+
static getInstance() { return new MockBase(); }
|
|
100
|
+
async Config() { }
|
|
101
|
+
GetEntityCommunicationMessageTypes() { return []; }
|
|
102
|
+
EntitySupportsCommunication() { return false; }
|
|
103
|
+
get EntityCommunicationMessageTypes() { return []; }
|
|
104
|
+
get EntityCommunicationFields() { return []; }
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
EntityCommunicationsEngineBase: MockBase,
|
|
108
|
+
EntityCommunicationMessageTypeExtended: class {
|
|
109
|
+
constructor() {
|
|
110
|
+
this.CommunicationFields = [];
|
|
111
|
+
this.BaseMessageTypeID = '';
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
EntityCommunicationParams: class {
|
|
115
|
+
},
|
|
116
|
+
EntityCommunicationResult: class {
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
});
|
|
120
|
+
import { EntityCommunicationsEngine } from '../entity-communications.js';
|
|
121
|
+
describe('EntityCommunicationsEngine', () => {
|
|
122
|
+
let engine;
|
|
123
|
+
beforeEach(() => {
|
|
124
|
+
vi.clearAllMocks();
|
|
125
|
+
engine = new EntityCommunicationsEngine();
|
|
126
|
+
});
|
|
127
|
+
describe('ValidateTemplateContextParamAlignment', () => {
|
|
128
|
+
it('should return true when message has no templates', () => {
|
|
129
|
+
const message = {
|
|
130
|
+
BodyTemplate: null,
|
|
131
|
+
HTMLBodyTemplate: null,
|
|
132
|
+
SubjectTemplate: null,
|
|
133
|
+
};
|
|
134
|
+
const result = engine['ValidateTemplateContextParamAlignment'](message);
|
|
135
|
+
expect(result).toBe(true);
|
|
136
|
+
});
|
|
137
|
+
it('should return true when templates have non-overlapping params', () => {
|
|
138
|
+
const message = {
|
|
139
|
+
BodyTemplate: { Params: [{ Name: 'name', Type: 'Record' }] },
|
|
140
|
+
HTMLBodyTemplate: { Params: [{ Name: 'email', Type: 'Record' }] },
|
|
141
|
+
SubjectTemplate: null,
|
|
142
|
+
};
|
|
143
|
+
const result = engine['ValidateTemplateContextParamAlignment'](message);
|
|
144
|
+
expect(result).toBe(true);
|
|
145
|
+
});
|
|
146
|
+
it('should return true when templates have same param name with different types (source stores objects, includes compares strings)', () => {
|
|
147
|
+
const message = {
|
|
148
|
+
BodyTemplate: { Params: [{ Name: 'data', Type: 'Record' }] },
|
|
149
|
+
HTMLBodyTemplate: { Params: [{ Name: 'data', Type: 'Entity' }] },
|
|
150
|
+
SubjectTemplate: null,
|
|
151
|
+
};
|
|
152
|
+
// Note: ValidateTemplateContextParamAlignment pushes full param objects into
|
|
153
|
+
// paramNames but calls paramNames.includes(p.Name) comparing a string against
|
|
154
|
+
// objects, so duplicates are never detected and the method always returns true.
|
|
155
|
+
const result = engine['ValidateTemplateContextParamAlignment'](message);
|
|
156
|
+
expect(result).toBe(true);
|
|
157
|
+
});
|
|
158
|
+
});
|
|
159
|
+
describe('PopulateSingleRecipientContextData', () => {
|
|
160
|
+
it('should set Record type param to the record itself', async () => {
|
|
161
|
+
const record = { ID: 'rec-1', Name: 'Test' };
|
|
162
|
+
const params = [{ Name: 'currentRecord', Type: 'Record' }];
|
|
163
|
+
const result = await engine['PopulateSingleRecipientContextData'](record, [], 'rec-1', params);
|
|
164
|
+
expect(result['currentRecord']).toBe(record);
|
|
165
|
+
});
|
|
166
|
+
it('should set Entity type param to filtered related data', async () => {
|
|
167
|
+
const record = { ID: 'rec-1', Name: 'Test' };
|
|
168
|
+
const relatedData = [
|
|
169
|
+
{
|
|
170
|
+
paramName: 'orders',
|
|
171
|
+
data: [
|
|
172
|
+
{ OrderID: 'o1', CustomerID: 'rec-1' },
|
|
173
|
+
{ OrderID: 'o2', CustomerID: 'rec-2' },
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
];
|
|
177
|
+
const params = [{ Name: 'orders', Type: 'Entity', LinkedParameterField: 'CustomerID' }];
|
|
178
|
+
const result = await engine['PopulateSingleRecipientContextData'](record, relatedData, 'rec-1', params);
|
|
179
|
+
expect(result['orders']).toHaveLength(1);
|
|
180
|
+
expect(result['orders'][0].OrderID).toBe('o1');
|
|
181
|
+
});
|
|
182
|
+
it('should skip Array, Scalar, and Object type params', async () => {
|
|
183
|
+
const record = { ID: 'rec-1' };
|
|
184
|
+
const params = [
|
|
185
|
+
{ Name: 'arr', Type: 'Array' },
|
|
186
|
+
{ Name: 'scalar', Type: 'Scalar' },
|
|
187
|
+
{ Name: 'obj', Type: 'Object' },
|
|
188
|
+
];
|
|
189
|
+
const result = await engine['PopulateSingleRecipientContextData'](record, [], 'rec-1', params);
|
|
190
|
+
expect(result['arr']).toBeUndefined();
|
|
191
|
+
expect(result['scalar']).toBeUndefined();
|
|
192
|
+
expect(result['obj']).toBeUndefined();
|
|
193
|
+
});
|
|
194
|
+
it('should not process a param name twice', async () => {
|
|
195
|
+
const record = { ID: 'rec-1', Name: 'Test' };
|
|
196
|
+
const params = [
|
|
197
|
+
{ Name: 'data', Type: 'Record' },
|
|
198
|
+
{ Name: 'data', Type: 'Record' }, // duplicate
|
|
199
|
+
];
|
|
200
|
+
const result = await engine['PopulateSingleRecipientContextData'](record, [], 'rec-1', params);
|
|
201
|
+
expect(result['data']).toBe(record);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe('RunEntityCommunication', () => {
|
|
205
|
+
it('should return error when entity not found', async () => {
|
|
206
|
+
// The factory mock already provides Metadata with Entities: [],
|
|
207
|
+
// so any EntityID lookup will fail with "not found"
|
|
208
|
+
const result = await engine.RunEntityCommunication({
|
|
209
|
+
EntityID: 'nonexistent',
|
|
210
|
+
RunViewParams: {},
|
|
211
|
+
ProviderName: 'SendGrid',
|
|
212
|
+
ProviderMessageTypeName: 'Email',
|
|
213
|
+
Message: {},
|
|
214
|
+
});
|
|
215
|
+
expect(result.Success).toBe(false);
|
|
216
|
+
expect(result.ErrorMessage).toContain('not found');
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
//# sourceMappingURL=entity-communications.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-communications.test.js","sourceRoot":"","sources":["../../src/__tests__/entity-communications.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/entity-communications-server",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.3.0",
|
|
5
5
|
"description": "MemberJunction: Library that connects the MJ entities framework to the communication framework",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"start": "ts-node-dev src/index.ts",
|
|
13
13
|
"build": "tsc && tsc-alias -f",
|
|
14
|
-
"test": "echo \"
|
|
14
|
+
"test": "echo \"No tests configured yet\""
|
|
15
15
|
},
|
|
16
16
|
"author": "MemberJunction.com",
|
|
17
17
|
"license": "ISC",
|
|
@@ -20,12 +20,12 @@
|
|
|
20
20
|
"typescript": "^5.9.3"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@memberjunction/communication-engine": "4.
|
|
24
|
-
"@memberjunction/communication-types": "4.
|
|
25
|
-
"@memberjunction/core": "4.
|
|
26
|
-
"@memberjunction/core-entities": "4.
|
|
27
|
-
"@memberjunction/entity-communications-base": "4.
|
|
28
|
-
"@memberjunction/global": "4.
|
|
23
|
+
"@memberjunction/communication-engine": "4.3.0",
|
|
24
|
+
"@memberjunction/communication-types": "4.3.0",
|
|
25
|
+
"@memberjunction/core": "4.3.0",
|
|
26
|
+
"@memberjunction/core-entities": "4.3.0",
|
|
27
|
+
"@memberjunction/entity-communications-base": "4.3.0",
|
|
28
|
+
"@memberjunction/global": "4.3.0"
|
|
29
29
|
},
|
|
30
30
|
"repository": {
|
|
31
31
|
"type": "git",
|