Skip to content

Commit 0d4b4b3

Browse files
author
Evan Greer
committed
feat: adds unit tests for IterableEmbeddedMessageText
1 parent 023ed30 commit 0d4b4b3

2 files changed

Lines changed: 51 additions & 4 deletions

File tree

src/__tests__/IterableEmbeddedMessageDefaultAction.test.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,8 @@ describe('IterableEmbeddedMessageDefaultAction', () => {
77
'iterableEmbeddedMessageDefaultAction_fromDict_valid_dictionary'
88
);
99

10-
const action = new IterableEmbeddedMessageDefaultAction(
11-
'openUrl',
12-
'https://example.com'
13-
);
10+
const dict = { type: 'openUrl', data: 'https://example.com' };
11+
const action = IterableEmbeddedMessageDefaultAction.fromDict(dict);
1412
expect(action).toBeInstanceOf(IterableEmbeddedMessageDefaultAction);
1513
expect(action.type).toBe('openUrl');
1614
expect(action.data).toBe('https://example.com');
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import { IterableEmbeddedMessageText } from '../embedded/classes/IterableEmbeddedMessageText';
2+
import { Iterable } from '../core/classes/Iterable';
3+
4+
describe('IterableEmbeddedMessageText', () => {
5+
it('should create an instance from a dictionary with all properties', () => {
6+
Iterable.logger.log('iterableEmbeddedMessageText_fromDict_all_properties');
7+
8+
const dict = {
9+
id: 'text-123',
10+
text: 'Hello World!',
11+
type: 'heading',
12+
};
13+
14+
const text = IterableEmbeddedMessageText.fromDict(dict);
15+
16+
expect(text).toBeInstanceOf(IterableEmbeddedMessageText);
17+
expect(text.id).toBe('text-123');
18+
expect(text.text).toBe('Hello World!');
19+
expect(text.type).toBe('heading');
20+
});
21+
22+
it('should create an instance from a dictionary with only required properties', () => {
23+
Iterable.logger.log('iterableEmbeddedMessageText_fromDict_required_only');
24+
25+
const dict = {
26+
id: 'text-123',
27+
};
28+
29+
const text = IterableEmbeddedMessageText.fromDict(dict);
30+
31+
expect(text).toBeInstanceOf(IterableEmbeddedMessageText);
32+
expect(text.id).toBe('text-123');
33+
expect(text.text).toBeUndefined();
34+
expect(text.type).toBeUndefined();
35+
});
36+
37+
it('should throw an error if id is missing in fromDict', () => {
38+
Iterable.logger.log('iterableEmbeddedMessageText_fromDict_missing_id');
39+
40+
const dict = {
41+
text: 'Hello World!',
42+
type: 'heading',
43+
};
44+
45+
expect(() => IterableEmbeddedMessageText.fromDict(dict)).toThrow(
46+
'id is required'
47+
);
48+
});
49+
});

0 commit comments

Comments
 (0)