11import 'react-native' ;
22import sinon from 'sinon' ;
33import FakeRequest from '../jest/fakeNetworkRequest' ;
4+ import InstabugConstants from '../utils/InstabugConstants' ;
45
56global . XMLHttpRequest = sinon . useFakeXMLHttpRequest ( ) ;
67
@@ -44,7 +45,7 @@ describe('Network Interceptor', () => {
4445
4546 it ( 'should set network object on calling setRequestHeader' , ( done ) => {
4647
47- let requestHeaders = { 'Content -type' : 'application/json' , 'token' : '9u4hiudhi3bf' } ;
48+ let requestHeaders = { 'content -type' : 'application/json' , 'token' : '9u4hiudhi3bf' } ;
4849
4950 Interceptor . enableInterception ( ) ;
5051 Interceptor . setOnDoneCallback ( ( network ) => {
@@ -87,7 +88,7 @@ describe('Network Interceptor', () => {
8788
8889 it ( 'should set responseHeaders in network object on receiving response' , ( done ) => {
8990
90- const headers = { 'Content-type' : 'application/json' , 'Accept' : 'text/html' }
91+ const headers = { 'Content-type' : 'application/json' , 'Accept' : 'text/html' , 'Content-Length' : 144 }
9192 Interceptor . enableInterception ( ) ;
9293 Interceptor . setOnDoneCallback ( ( network ) => {
9394 expect ( network . responseHeaders [ 'Content-type' ] . trim ( ) ) . toEqual ( headers [ 'Content-type' ] ) ;
@@ -168,6 +169,54 @@ describe('Network Interceptor', () => {
168169 FakeRequest . mockResponse ( requests [ 0 ] ) ;
169170 expect ( callback ) . not . toHaveBeenCalled ( ) ;
170171 } ) ;
172+ it ( 'should set gqlQueryName in network object on receiving response' , ( done ) => {
173+ const headers = { } ;
174+ headers [ InstabugConstants . GRAPHQL_HEADER ] =
175+ InstabugConstants . GRAPHQL_HEADER ;
176+ const responseBody = { data : [ { item : 'first' } , { item : 'second' } ] } ;
177+ Interceptor . enableInterception ( ) ;
178+ Interceptor . setOnDoneCallback ( ( network ) => {
179+ expect ( network . gqlQueryName ) . toEqual (
180+ headers [ InstabugConstants . GRAPHQL_HEADER ]
181+ ) ;
182+ done ( ) ;
183+ } ) ;
184+ FakeRequest . open ( method , url ) ;
185+ FakeRequest . setRequestHeaders ( headers ) ;
186+ FakeRequest . send ( ) ;
187+ FakeRequest . mockResponse ( requests [ 0 ] , null , JSON . stringify ( responseBody ) ) ;
188+ } ) ;
189+
190+ it ( 'should set gqlQueryName in network object on receiving response with empty string' , ( done ) => {
191+ const headers = { } ;
192+ headers [ InstabugConstants . GRAPHQL_HEADER ] = 'null' ;
193+ Interceptor . enableInterception ( ) ;
194+ Interceptor . setOnDoneCallback ( ( network ) => {
195+ expect ( network . gqlQueryName ) . toEqual ( '' ) ;
196+ done ( ) ;
197+ } ) ;
198+ FakeRequest . open ( method , url ) ;
199+ FakeRequest . setRequestHeaders ( headers ) ;
200+ FakeRequest . send ( ) ;
201+ FakeRequest . mockResponse ( requests [ 0 ] ) ;
202+ } ) ;
203+
204+ it ( 'should set serverErrorMessage in network object on receiving response' , ( done ) => {
205+ const headers = { } ;
206+ headers [ InstabugConstants . GRAPHQL_HEADER ] =
207+ InstabugConstants . GRAPHQL_HEADER ;
208+ const responseBody = { errors : [ { item : 'first' } , { item : 'second' } ] } ;
209+ Interceptor . enableInterception ( ) ;
210+ Interceptor . setOnDoneCallback ( ( network ) => {
211+ expect ( network . serverErrorMessage ) . toEqual ( 'GraphQLError' ) ;
212+ done ( ) ;
213+ } ) ;
214+ FakeRequest . open ( method , url ) ;
215+ FakeRequest . setRequestHeaders ( headers ) ;
216+ FakeRequest . setResponseType ( 'text' ) ;
217+ FakeRequest . send ( ) ;
218+ FakeRequest . mockResponse ( requests [ 0 ] , null , JSON . stringify ( responseBody ) ) ;
219+ } ) ;
171220
172221
173- } ) ;
222+ } ) ;
0 commit comments