From 52230060e59da2752c0076892bb5e0d4a71b5be6 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Sat, 5 Dec 2020 12:23:42 +0100 Subject: [PATCH] #54: Set remainder flag for first activity --- CHANGELOG.md | 1 + .../logic/model/DayActivities.java | 6 ++++- .../logic/model/DayActivitiesTest.java | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7f46a42d..32fc6b0a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ See [Release](https://github.com/itsallcode/white-rabbit/releases/tag/v1.2.0) / ### Added * [#52](https://github.com/itsallcode/white-rabbit/issues/52): Improve keyboard usage for autocomplete text fields, immediately show proposals. +* [#54](https://github.com/itsallcode/white-rabbit/issues/54): First added activity has the remainder flag set. ## [1.1.0] 2020-11-29 diff --git a/logic/src/main/java/org/itsallcode/whiterabbit/logic/model/DayActivities.java b/logic/src/main/java/org/itsallcode/whiterabbit/logic/model/DayActivities.java index fc3107ab..57905e98 100644 --- a/logic/src/main/java/org/itsallcode/whiterabbit/logic/model/DayActivities.java +++ b/logic/src/main/java/org/itsallcode/whiterabbit/logic/model/DayActivities.java @@ -38,13 +38,17 @@ public Activity add() { day.setActivities(new ArrayList<>()); } + final boolean isFirstActivity = getActivities().findAny().isEmpty(); + final JsonActivity jsonActivity = new JsonActivity(); jsonActivity.setProjectId(""); jsonActivity.setDuration(Duration.ZERO); final int newRowIndex = day.getActivities().size(); day.getActivities().add(jsonActivity); - return wrapActivity(jsonActivity, newRowIndex); + final Activity wrappedActivity = wrapActivity(jsonActivity, newRowIndex); + wrappedActivity.setRemainderActivity(isFirstActivity); + return wrappedActivity; } public List getAll() diff --git a/logic/src/test/java/org/itsallcode/whiterabbit/logic/model/DayActivitiesTest.java b/logic/src/test/java/org/itsallcode/whiterabbit/logic/model/DayActivitiesTest.java index a86d0e67..298ceb6e 100644 --- a/logic/src/test/java/org/itsallcode/whiterabbit/logic/model/DayActivitiesTest.java +++ b/logic/src/test/java/org/itsallcode/whiterabbit/logic/model/DayActivitiesTest.java @@ -68,6 +68,29 @@ void addWhenActivitiesAreNull() assertThat(jsonDay.getActivities()).hasSize(1); } + @Test + void firstAddedActivityHasRemainderFlag() + { + final DayActivities activities = create(); + jsonDay.setActivities(new ArrayList<>()); + + final Activity newActivity = activities.add(); + + assertThat(newActivity.isRemainderActivity()).as("remainder").isTrue(); + } + + @Test + void secondAddedActivityDoesNotHaveRemainderFlag() + { + final DayActivities activities = create(); + jsonDay.setActivities(new ArrayList<>()); + + activities.add(); + final Activity newActivity = activities.add(); + + assertThat(newActivity.isRemainderActivity()).as("remainder").isFalse(); + } + @Test void addIncrementsRowIndex() {