@@ -14,6 +14,7 @@ jest.mock('react-native', () => {
14
14
login : jest . fn ( ) ,
15
15
logout : jest . fn ( ) ,
16
16
openMessagingView : jest . fn ( ) ,
17
+ closeMessagingView : jest . fn ( ) ,
17
18
sendPageViewEvent : jest . fn ( ) ,
18
19
setConversationFields : jest . fn ( ) ,
19
20
clearConversationFields : jest . fn ( ) ,
@@ -122,6 +123,48 @@ describe('react-native-zendesk-messaging', () => {
122
123
} ) ;
123
124
} ) ;
124
125
126
+ describe ( 'when call closeMessagingView' , ( ) => {
127
+ let mockCloseMessagingView : jest . SpyInstance ;
128
+
129
+ describe ( 'when platform is iOS' , ( ) => {
130
+ beforeAll ( ( ) => {
131
+ Platform . OS = 'ios' ;
132
+ } ) ;
133
+
134
+ beforeEach ( async ( ) => {
135
+ mockCloseMessagingView = jest . spyOn ( ZendeskMessagingModule , 'closeMessagingView' ) ;
136
+ await Zendesk . closeMessagingView ( ) ;
137
+ } ) ;
138
+
139
+ afterAll ( ( ) => {
140
+ mockCloseMessagingView . mockClear ( ) ;
141
+ } ) ;
142
+
143
+ it ( 'should call native module\'s openMessagingView method' , ( ) => {
144
+ expect ( mockCloseMessagingView ) . toHaveBeenCalledTimes ( 1 ) ;
145
+ } ) ;
146
+ } ) ;
147
+
148
+ describe ( 'when platform is Android' , ( ) => {
149
+ beforeAll ( ( ) => {
150
+ Platform . OS = 'android' ;
151
+ } ) ;
152
+
153
+ beforeEach ( async ( ) => {
154
+ mockCloseMessagingView = jest . spyOn ( ZendeskMessagingModule , 'closeMessagingView' ) ;
155
+ await Zendesk . closeMessagingView ( ) ;
156
+ } ) ;
157
+
158
+ afterAll ( ( ) => {
159
+ mockCloseMessagingView . mockClear ( ) ;
160
+ } ) ;
161
+
162
+ it ( 'should call native module\'s openMessagingView method' , ( ) => {
163
+ expect ( mockCloseMessagingView ) . not . toHaveBeenCalled ( ) ;
164
+ } ) ;
165
+ } ) ;
166
+ } ) ;
167
+
125
168
describe ( 'when call sendPageViewEvent' , ( ) => {
126
169
let pageTitle : string ;
127
170
let url : string ;
0 commit comments