Skip to content

Commit c66175e

Browse files
dab246hoangdat
authored andcommitted
Fix convert UTCDate
1 parent 68b575e commit c66175e

File tree

3 files changed

+35
-2
lines changed

3 files changed

+35
-2
lines changed

lib/http/converter/utc_date_converter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ class UTCDateConverter implements JsonConverter<UTCDate, String> {
88
UTCDate fromJson(String json) => UTCDate(DateTime.parse(json).toUtc());
99

1010
@override
11-
String toJson(UTCDate object) => object.value.toUtc().toString();
11+
String toJson(UTCDate object) => object.value.toUtc().toIso8601String();
1212
}

lib/http/converter/utc_date_nullable_converter.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ class UTCDateNullableConverter implements JsonConverter<UTCDate?, String?> {
88
UTCDate? fromJson(String? json) => json != null ? UTCDate(DateTime.parse(json).toUtc()) : null;
99

1010
@override
11-
String? toJson(UTCDate? object) => object?.value.toUtc().toString();
11+
String? toJson(UTCDate? object) => object?.value.toUtc().toIso8601String();
1212
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
2+
import 'package:flutter_test/flutter_test.dart';
3+
import 'package:jmap_dart_client/http/converter/utc_date_converter.dart';
4+
import 'package:jmap_dart_client/http/converter/utc_date_nullable_converter.dart';
5+
import 'package:jmap_dart_client/jmap/core/utc_date.dart';
6+
7+
void main() {
8+
9+
final utcDateStringTest = '2021-10-04T04:39:56.000Z';
10+
final expectUTCDate = UTCDate(DateTime.parse('2021-10-04T04:39:56.000Z').toUtc());
11+
final testUTCDate = UTCDate(DateTime.parse('2021-10-04T04:39:56.000Z').toUtc());
12+
final expectUTCDateString = '2021-10-04T04:39:56.000Z';
13+
14+
group('UTCDateConverter', () {
15+
test('should return UTCDate when receive a properly formatted json', () {
16+
expect(expectUTCDate, UTCDateConverter().fromJson(utcDateStringTest));
17+
});
18+
19+
test('should return utc date string valid when receive a utc date', () {
20+
expect(expectUTCDateString, UTCDateConverter().toJson(testUTCDate));
21+
});
22+
});
23+
24+
group('UTCDateNullableConverter', () {
25+
test('should return UTCDate when receive a properly formatted json', () {
26+
expect(expectUTCDate, UTCDateNullableConverter().fromJson(utcDateStringTest));
27+
});
28+
29+
test('should return utc date string valid when receive a utc date', () {
30+
expect(expectUTCDateString, UTCDateNullableConverter().toJson(testUTCDate));
31+
});
32+
});
33+
}

0 commit comments

Comments
 (0)