diff --git a/lib/http/http_client.dart b/lib/http/http_client.dart index 6d0b0e1..58f9041 100644 --- a/lib/http/http_client.dart +++ b/lib/http/http_client.dart @@ -110,7 +110,7 @@ class HttpClient implements Http { } } - return Response(res, json!); + return Response(res, json ?? jsonDecode('{}')); }); } diff --git a/lib/models/week_model.dart b/lib/models/week_model.dart index 739b31c..6ed4561 100644 --- a/lib/models/week_model.dart +++ b/lib/models/week_model.dart @@ -10,13 +10,13 @@ class WeekModel extends WeekBaseModel implements Model { PictogramModel? thumbnail, String? name, List? days, - this.weekYear, - this.weekNumber, + this.weekYear = 0, + this.weekNumber = 0, }) : super(thumbnail: thumbnail, name: name, days: days); /// Construct from JSON - WeekModel.fromJson(Map? json) : super.fromJson(json) { - weekYear = json!['weekYear']; + WeekModel.fromJson(Map json) : super.fromJson(json) { + weekYear = json['weekYear']; weekNumber = json['weekNumber']; } @@ -27,10 +27,13 @@ class WeekModel extends WeekBaseModel implements Model { } /// The year the week lies in - int? weekYear; + int weekYear = DateTime.now().year; /// The week number - int? weekNumber; + int weekNumber = + DateTime.now().difference(DateTime(DateTime.now().year, 1, 1)).inDays ~/ + 7 + + 1; @override Map toJson() { diff --git a/test/api/activity_api_test.dart b/test/api/activity_api_test.dart index 63b40c0..26e4067 100644 --- a/test/api/activity_api_test.dart +++ b/test/api/activity_api_test.dart @@ -66,8 +66,8 @@ Future main() async { test('Should add an activity', () { activityApi - .add(mockActivity, mockUser.id!, mockWeek.name!, mockWeek.weekYear!, - mockWeek.weekNumber!, mockWeek.days!.first.day!) + .add(mockActivity, mockUser.id!, mockWeek.name!, mockWeek.weekYear, + mockWeek.weekNumber, mockWeek.days!.first.day!) .listen(expectAsync1((ActivityModel response) { expect(response.toJson(), mockActivity.toJson()); })); diff --git a/test/api/week_api_test.dart b/test/api/week_api_test.dart index 288c78e..bad6282 100644 --- a/test/api/week_api_test.dart +++ b/test/api/week_api_test.dart @@ -72,7 +72,7 @@ Future main() async { ); weekApi - .get(id, week.weekYear!, week.weekNumber!) + .get(id, week.weekYear, week.weekNumber) .listen(expectAsync1((WeekModel resWeek) { expect(resWeek.toJson(), week.toJson()); })); @@ -106,7 +106,7 @@ Future main() async { ); weekApi - .update(id, week.weekYear!, week.weekNumber!, week) + .update(id, week.weekYear, week.weekNumber, week) .listen(expectAsync1((WeekModel resWeek) { expect(resWeek.toJson(), week.toJson()); })); diff --git a/test/models/week_model_test.dart b/test/models/week_model_test.dart index 8378661..276d334 100644 --- a/test/models/week_model_test.dart +++ b/test/models/week_model_test.dart @@ -130,10 +130,6 @@ void main() { weekBaseTest(week2, response2); }); - test('Should throw exception when JSON is null', () { - expect(() => WeekModel.fromJson(null), throwsFormatException); - }); - test('Should be able to serialize to JSON', () { final WeekModel week1 = WeekModel.fromJson(response1!); final WeekModel week2 = WeekModel.fromJson(response2!);