@@ -64,6 +64,16 @@ describe('IterableEmbeddedManager', () => {
6464 } ) ;
6565 } ) ;
6666
67+ describe ( 'syncMessages' , ( ) => {
68+ it ( 'should call IterableApi.syncEmbeddedMessages' , ( ) => {
69+ // WHEN syncMessages is called
70+ embeddedManager . syncMessages ( ) ;
71+
72+ // THEN IterableApi.syncEmbeddedMessages is called
73+ expect ( MockRNIterableAPI . syncEmbeddedMessages ) . toHaveBeenCalledTimes ( 1 ) ;
74+ } ) ;
75+ } ) ;
76+
6777 describe ( 'getPlacementIds' , ( ) => {
6878 it ( 'should call IterableApi.getEmbeddedPlacementIds' , async ( ) => {
6979 // WHEN getPlacementIds is called
@@ -79,6 +89,37 @@ describe('IterableEmbeddedManager', () => {
7989 } ) ;
8090 } ) ;
8191
92+ describe ( 'getMessages' , ( ) => {
93+ it ( 'should call IterableApi.getEmbeddedMessages with placement IDs' , async ( ) => {
94+ // GIVEN some placement IDs
95+ const placementIds = [ 1 , 2 , 3 ] ;
96+
97+ // WHEN getMessages is called
98+ const result = await embeddedManager . getMessages ( placementIds ) ;
99+
100+ // THEN IterableApi.getEmbeddedMessages is called with the placement IDs
101+ expect ( MockRNIterableAPI . getEmbeddedMessages ) . toHaveBeenCalledTimes ( 1 ) ;
102+ expect ( MockRNIterableAPI . getEmbeddedMessages ) . toHaveBeenCalledWith (
103+ placementIds
104+ ) ;
105+
106+ // AND the result is returned
107+ expect ( result ) . toEqual ( [ ] ) ;
108+ } ) ;
109+
110+ it ( 'should call IterableApi.getEmbeddedMessages with null' , async ( ) => {
111+ // WHEN getMessages is called with null
112+ const result = await embeddedManager . getMessages ( null ) ;
113+
114+ // THEN IterableApi.getEmbeddedMessages is called with null
115+ expect ( MockRNIterableAPI . getEmbeddedMessages ) . toHaveBeenCalledTimes ( 1 ) ;
116+ expect ( MockRNIterableAPI . getEmbeddedMessages ) . toHaveBeenCalledWith ( null ) ;
117+
118+ // AND the result is returned
119+ expect ( result ) . toEqual ( [ ] ) ;
120+ } ) ;
121+ } ) ;
122+
82123 describe ( 'startSession' , ( ) => {
83124 it ( 'should call IterableApi.startEmbeddedSession' , ( ) => {
84125 // WHEN startSession is called
@@ -98,5 +139,93 @@ describe('IterableEmbeddedManager', () => {
98139 expect ( MockRNIterableAPI . endEmbeddedSession ) . toHaveBeenCalledTimes ( 1 ) ;
99140 } ) ;
100141 } ) ;
142+
143+ describe ( 'startImpression' , ( ) => {
144+ it ( 'should call IterableApi.startEmbeddedImpression with messageId and placementId' , ( ) => {
145+ // GIVEN a message ID and placement ID
146+ const messageId = 'message-123' ;
147+ const placementId = 456 ;
148+
149+ // WHEN startImpression is called
150+ embeddedManager . startImpression ( messageId , placementId ) ;
151+
152+ // THEN IterableApi.startEmbeddedImpression is called with the correct parameters
153+ expect ( MockRNIterableAPI . startEmbeddedImpression ) . toHaveBeenCalledTimes (
154+ 1
155+ ) ;
156+ expect ( MockRNIterableAPI . startEmbeddedImpression ) . toHaveBeenCalledWith (
157+ messageId ,
158+ placementId
159+ ) ;
160+ } ) ;
161+
162+ it ( 'should handle multiple impression starts' , ( ) => {
163+ // GIVEN multiple messages
164+ const messageId1 = 'message-1' ;
165+ const placementId1 = 100 ;
166+ const messageId2 = 'message-2' ;
167+ const placementId2 = 200 ;
168+
169+ // WHEN startImpression is called multiple times
170+ embeddedManager . startImpression ( messageId1 , placementId1 ) ;
171+ embeddedManager . startImpression ( messageId2 , placementId2 ) ;
172+
173+ // THEN IterableApi.startEmbeddedImpression is called twice
174+ expect ( MockRNIterableAPI . startEmbeddedImpression ) . toHaveBeenCalledTimes (
175+ 2
176+ ) ;
177+ expect ( MockRNIterableAPI . startEmbeddedImpression ) . toHaveBeenNthCalledWith (
178+ 1 ,
179+ messageId1 ,
180+ placementId1
181+ ) ;
182+ expect ( MockRNIterableAPI . startEmbeddedImpression ) . toHaveBeenNthCalledWith (
183+ 2 ,
184+ messageId2 ,
185+ placementId2
186+ ) ;
187+ } ) ;
188+ } ) ;
189+
190+ describe ( 'pauseImpression' , ( ) => {
191+ it ( 'should call IterableApi.pauseEmbeddedImpression with messageId' , ( ) => {
192+ // GIVEN a message ID
193+ const messageId = 'message-123' ;
194+
195+ // WHEN pauseImpression is called
196+ embeddedManager . pauseImpression ( messageId ) ;
197+
198+ // THEN IterableApi.pauseEmbeddedImpression is called with the correct parameter
199+ expect ( MockRNIterableAPI . pauseEmbeddedImpression ) . toHaveBeenCalledTimes (
200+ 1
201+ ) ;
202+ expect ( MockRNIterableAPI . pauseEmbeddedImpression ) . toHaveBeenCalledWith (
203+ messageId
204+ ) ;
205+ } ) ;
206+
207+ it ( 'should handle multiple impression pauses' , ( ) => {
208+ // GIVEN multiple message IDs
209+ const messageId1 = 'message-1' ;
210+ const messageId2 = 'message-2' ;
211+
212+ // WHEN pauseImpression is called multiple times
213+ embeddedManager . pauseImpression ( messageId1 ) ;
214+ embeddedManager . pauseImpression ( messageId2 ) ;
215+
216+ // THEN IterableApi.pauseEmbeddedImpression is called twice
217+ expect ( MockRNIterableAPI . pauseEmbeddedImpression ) . toHaveBeenCalledTimes (
218+ 2
219+ ) ;
220+ expect ( MockRNIterableAPI . pauseEmbeddedImpression ) . toHaveBeenNthCalledWith (
221+ 1 ,
222+ messageId1
223+ ) ;
224+ expect ( MockRNIterableAPI . pauseEmbeddedImpression ) . toHaveBeenNthCalledWith (
225+ 2 ,
226+ messageId2
227+ ) ;
228+ } ) ;
229+ } ) ;
101230} ) ;
102231
0 commit comments