Skip to content

Commit e121bc6

Browse files
author
Evan Greer
committed
feat: adds unit tests
1 parent 7316098 commit e121bc6

File tree

2 files changed

+58
-0
lines changed

2 files changed

+58
-0
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
import { IterableEmbeddedMessageMetadata } from '../embedded/classes/IterableEmbeddedMessageMetadata';
2+
import { Iterable } from '../core';
3+
4+
describe('IterableEmbeddedMessage', () => {
5+
test('should create an instance of IterableEmbeddedMessageMetadata from a dictionary', () => {
6+
Iterable.logger.log(
7+
'iterableEmbeddedMessageMetadata_fromDict_valid_dictionary'
8+
);
9+
10+
const dict = {
11+
messageId: '123',
12+
placementId: 456,
13+
campaignId: 789,
14+
isProof: false,
15+
};
16+
17+
const result = IterableEmbeddedMessageMetadata.fromDict(dict);
18+
19+
expect(result).toBeInstanceOf(IterableEmbeddedMessageMetadata);
20+
expect(result.messageId).toBe('123');
21+
expect(result.placementId).toBe(456);
22+
expect(result.campaignId).toBe(789);
23+
expect(result.isProof).toBe(false);
24+
});
25+
26+
test('should handle optional fields', () => {
27+
Iterable.logger.log(
28+
'iterableEmbeddedMessageMetadata_fromDict_optional_fields_omitted'
29+
);
30+
31+
const dict = {
32+
messageId: '123',
33+
placementId: 456,
34+
};
35+
36+
const result = IterableEmbeddedMessageMetadata.fromDict(dict);
37+
38+
expect(result).toBeInstanceOf(IterableEmbeddedMessageMetadata);
39+
expect(result.messageId).toBe('123');
40+
expect(result.placementId).toBe(456);
41+
expect(result.campaignId).toBeUndefined();
42+
expect(result.isProof).toBe(false);
43+
});
44+
45+
test('should throw an error if messageId is not provided', () => {
46+
Iterable.logger.log(
47+
'iterableEmbeddedMessageMetadata_fromDict_missing_messageId'
48+
);
49+
50+
const dict = {
51+
placementId: 456,
52+
};
53+
54+
expect(() => {
55+
IterableEmbeddedMessageMetadata.fromDict(dict);
56+
}).toThrow('messageId and placementId are required');
57+
});
58+
});

0 commit comments

Comments
 (0)