Skip to content

Commit 972e449

Browse files
add tests for network data model
1 parent 49d60e9 commit 972e449

File tree

1 file changed

+93
-1
lines changed

1 file changed

+93
-1
lines changed

test/instabug_flutter_test.dart

Lines changed: 93 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)