@@ -44,6 +44,35 @@ void main() {
4444 };
4545 late MockPlatformManager mockPlatform;
4646
47+ const String url = 'https://jsonplaceholder.typicode.com' ;
48+ const String method = 'POST' ;
49+ final DateTime startDate = DateTime .now ();
50+ final DateTime endDate = DateTime .now ().add (const Duration (hours: 1 ));
51+ const dynamic requestBody = 'requestBody' ;
52+ const dynamic responseBody = 'responseBody' ;
53+ const int status = 200 ;
54+ const Map <String , dynamic > requestHeaders = < String , dynamic > {
55+ 'request' : 'request'
56+ };
57+ const Map <String , dynamic > responseHeaders = < String , dynamic > {
58+ 'response' : 'response'
59+ };
60+ const int duration = 10 ;
61+ const String contentType = 'contentType' ;
62+ final NetworkData networkData = NetworkData (
63+ url: url,
64+ method: method,
65+ startTime: startDate,
66+ contentType: contentType,
67+ duration: duration,
68+ endTime: endDate,
69+ requestBody: requestBody,
70+ responseBody: responseBody,
71+ requestHeaders: requestHeaders,
72+ responseHeaders: responseHeaders,
73+ status: status,
74+ );
75+
4776 setUpAll (() async {
4877 const MethodChannel ('instabug_flutter' )
4978 .setMockMethodCallHandler ((MethodCall methodCall) async {
@@ -823,7 +852,8 @@ void main() {
823852 });
824853
825854 test ('networkLog: Test' , () async {
826- final data = NetworkData (method: 'method' , url: 'url' , startTime: DateTime .now ());
855+ final data =
856+ NetworkData (method: 'method' , url: 'url' , startTime: DateTime .now ());
827857 final List <dynamic > args = < dynamic > [data.toMap ()];
828858 NetworkLogger .networkLog (data);
829859 expect (log, < Matcher > [
@@ -873,4 +903,66 @@ void main() {
873903 ]);
874904 }
875905 });
906+ test ('Test NetworkData model ToMap' , () async {
907+ final newNetworkData = networkData.toMap ();
908+ expect (networkData.url, newNetworkData['url' ]);
909+ expect (networkData.method, newNetworkData['method' ]);
910+ expect (networkData.contentType, newNetworkData['contentType' ]);
911+ expect (networkData.duration, newNetworkData['duration' ]);
912+ expect (networkData.requestBody, newNetworkData['requestBody' ]);
913+ expect (networkData.responseBody, newNetworkData['responseBody' ]);
914+ expect (networkData.requestHeaders, newNetworkData['requestHeaders' ]);
915+ expect (networkData.responseHeaders, newNetworkData['responseHeaders' ]);
916+ });
917+ test ('Test NetworkData model CopyWith empty' , () async {
918+ final newNetworkData = networkData.copyWith ();
919+ final newNetworkDataMap = newNetworkData.toMap ();
920+ final networkDataMap = networkData.toMap ();
921+ networkDataMap.forEach ((key, dynamic value) {
922+ expect (value, newNetworkDataMap[key]);
923+ });
924+ });
925+
926+ test ('Test NetworkData model CopyWith' , () async {
927+ const String urlCopy = 'https://jsonplaceholder.typicode.comCopy' ;
928+ const String methodCopy = 'POSTCopy' ;
929+ const dynamic requestBodyCopy = 'requestBodyCopy' ;
930+ const dynamic responseBodyCopy = 'responseBodyCopy' ;
931+ const Map <String , dynamic > requestHeadersCopy = < String , dynamic > {
932+ 'requestCopy' : 'requestCopy'
933+ };
934+ const Map <String , dynamic > responseHeadersCopy = < String , dynamic > {
935+ 'responseCopy' : 'responseCopy'
936+ };
937+ const int durationCopy = 20 ;
938+ const String contentTypeCopy = 'contentTypeCopy' ;
939+ final DateTime startDateCopy = DateTime .now ().add (const Duration (days: 1 ));
940+ final DateTime endDateCopy = DateTime .now ().add (const Duration (days: 2 ));
941+ const int statusCopy = 300 ;
942+
943+ final newNetworkData = networkData.copyWith (
944+ url: urlCopy,
945+ method: methodCopy,
946+ requestBody: requestBodyCopy,
947+ requestHeaders: requestHeadersCopy,
948+ responseBody: responseBodyCopy,
949+ responseHeaders: responseHeadersCopy,
950+ duration: durationCopy,
951+ contentType: contentTypeCopy,
952+ startTime: startDateCopy,
953+ endTime: endDateCopy,
954+ status: statusCopy);
955+
956+ expect (newNetworkData.url, urlCopy);
957+ expect (newNetworkData.method, methodCopy);
958+ expect (newNetworkData.requestBody, requestBodyCopy);
959+ expect (newNetworkData.requestHeaders, requestHeadersCopy);
960+ expect (newNetworkData.responseBody, responseBodyCopy);
961+ expect (newNetworkData.responseHeaders, responseHeadersCopy);
962+ expect (newNetworkData.duration, durationCopy);
963+ expect (newNetworkData.contentType, contentTypeCopy);
964+ expect (newNetworkData.startTime, startDateCopy);
965+ expect (newNetworkData.endTime, endDateCopy);
966+ expect (newNetworkData.status, statusCopy);
967+ });
876968}
0 commit comments