Skip to content

Commit 92c8c9e

Browse files
committed
test: add unit tests for IterableEmbeddedManager and enhance Iterable configuration tests
1 parent 047f94b commit 92c8c9e

2 files changed

Lines changed: 74 additions & 0 deletions

File tree

src/core/classes/Iterable.test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1214,4 +1214,19 @@ describe('Iterable', () => {
12141214
});
12151215
});
12161216
});
1217+
1218+
describe('embeddedManager', () => {
1219+
it('should be disabled by default', () => {
1220+
const config = new IterableConfig();
1221+
expect(config.embeddedMessagingEnabled).toBe(false);
1222+
expect(Iterable.embeddedManager.isEnabled).toBe(false);
1223+
});
1224+
1225+
it('should enable embeddedManager when config is set', async () => {
1226+
const config = new IterableConfig();
1227+
config.embeddedMessagingEnabled = true;
1228+
await Iterable.initialize('test-key', config);
1229+
expect(Iterable.embeddedManager.isEnabled).toBe(true);
1230+
});
1231+
});
12171232
});
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
import { IterableEmbeddedManager } from './IterableEmbeddedManager';
2+
3+
describe('IterableEmbeddedManager', () => {
4+
let embeddedManager: IterableEmbeddedManager;
5+
6+
beforeEach(() => {
7+
embeddedManager = new IterableEmbeddedManager();
8+
});
9+
10+
describe('isEnabled', () => {
11+
it('should be false by default', () => {
12+
expect(embeddedManager.isEnabled).toBe(false);
13+
});
14+
15+
it('should return true after being enabled', () => {
16+
embeddedManager.setEnabled(true);
17+
expect(embeddedManager.isEnabled).toBe(true);
18+
});
19+
20+
it('should return false after being disabled', () => {
21+
embeddedManager.setEnabled(false);
22+
expect(embeddedManager.isEnabled).toBe(false);
23+
});
24+
});
25+
26+
describe('setEnabled', () => {
27+
it('should enable the embedded manager', () => {
28+
embeddedManager.setEnabled(true);
29+
expect(embeddedManager.isEnabled).toBe(true);
30+
});
31+
32+
it('should disable the embedded manager', () => {
33+
embeddedManager.setEnabled(false);
34+
expect(embeddedManager.isEnabled).toBe(false);
35+
});
36+
37+
it('should toggle enabled state multiple times', () => {
38+
embeddedManager.setEnabled(true);
39+
expect(embeddedManager.isEnabled).toBe(true);
40+
41+
embeddedManager.setEnabled(false);
42+
expect(embeddedManager.isEnabled).toBe(false);
43+
44+
embeddedManager.setEnabled(true);
45+
expect(embeddedManager.isEnabled).toBe(true);
46+
});
47+
48+
it('should handle setting the same state multiple times', () => {
49+
embeddedManager.setEnabled(true);
50+
embeddedManager.setEnabled(true);
51+
expect(embeddedManager.isEnabled).toBe(true);
52+
53+
embeddedManager.setEnabled(false);
54+
embeddedManager.setEnabled(false);
55+
expect(embeddedManager.isEnabled).toBe(false);
56+
});
57+
});
58+
});
59+

0 commit comments

Comments
 (0)