Skip to content

Commit f47e520

Browse files
authored
[Fix/collecting daily stat] (#78)
* ✅ test : add edge case; multiple runs in a day * 🐛 fix : use equals instead of `!=` * ✅ test : update test
1 parent 336e1ee commit f47e520

3 files changed

Lines changed: 10 additions & 8 deletions

File tree

src/main/java/org/runimo/runimo/records/service/RecordFinder.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ public List<RecordSimpleView> findRecordSimpleViewByUserId(Long id, int page, in
7373
private List<DailyStat> mapToDailyStatList(List<RecordStatDto> recordStatDtos) {
7474
List<DailyStat> list = new ArrayList<>();
7575
for (RecordStatDto recordStatDto : recordStatDtos) {
76-
if (list.isEmpty() || list.getLast().getDate() != recordStatDto.getStartedAt()
77-
.toLocalDate()) {
76+
if (list.isEmpty() || !list.getLast().getDate().equals(recordStatDto.getStartedAt()
77+
.toLocalDate())) {
7878
DailyStat dailyStat = DailyStat.empty(recordStatDto.getStartedAt().toLocalDate());
7979
dailyStat.addData(recordStatDto);
8080
list.add(dailyStat);

src/test/java/org/runimo/runimo/records/api/RecordAcceptanceTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ void tearDown() {
174174
.body("payload.daily_stats[5].date", equalTo("2025-04-05"))
175175
.body("payload.daily_stats[5].distance_in_meters", equalTo(6000))
176176
.body("payload.daily_stats[6].date", equalTo("2025-04-06"))
177-
.body("payload.daily_stats[6].distance_in_meters", equalTo(7000));
177+
.body("payload.daily_stats[6].distance_in_meters", equalTo(14000));
178178
}
179179

180180
@Test
@@ -232,14 +232,15 @@ void tearDown() {
232232
.statusCode(200)
233233
.body("code", equalTo("MY_PAGE_DATA_FETCHED"))
234234
.body("payload.simple_stat", notNullValue())
235-
.body("payload.simple_stat.total_time_in_seconds", equalTo(21600))
236-
.body("payload.simple_stat.total_running_count", equalTo(6))
237-
.body("payload.simple_stat.total_distance_in_meters", equalTo(27000))
235+
.body("payload.simple_stat.total_time_in_seconds", equalTo(25200))
236+
.body("payload.simple_stat.total_running_count", equalTo(7))
237+
.body("payload.simple_stat.total_distance_in_meters", equalTo(34000))
238238
.body("payload.daily_stats.size()", equalTo(6))
239239
.body("payload.daily_stats[0].date", equalTo("2025-04-01"))
240240
.body("payload.daily_stats[0].distance_in_meters", equalTo(2000))
241241
.body("payload.daily_stats[1].date", equalTo("2025-04-02"))
242-
.body("payload.daily_stats[1].distance_in_meters", equalTo(3000));
242+
.body("payload.daily_stats[1].distance_in_meters", equalTo(3000))
243+
.body("payload.daily_stats[5].distance_in_meters", equalTo(14000));
243244
}
244245

245246
@Test

src/test/resources/sql/weekly_record_data.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ VALUES
1818
(4, 1, 'record-public-id-4', 'record-title-4', '2025-04-03 10:00:00', '2025-04-03 11:00:00', 4000, 400, false, NOW(), NOW()),
1919
(5, 1, 'record-public-id-5', 'record-title-5', '2025-04-04 10:00:00', '2025-04-04 11:00:00', 5000, 500, false, NOW(), NOW()),
2020
(6, 1, 'record-public-id-6', 'record-title-6', '2025-04-05 10:00:00', '2025-04-05 11:00:00', 6000, 600, false, NOW(), NOW()),
21-
(7, 1, 'record-public-id-7', 'record-title-7', '2025-04-06 10:00:00', '2025-04-06 11:00:00', 7000, 700, false, NOW(), NOW());
21+
(7, 1, 'record-public-id-7', 'record-title-7', '2025-04-06 10:00:00', '2025-04-06 11:00:00', 7000, 700, false, NOW(), NOW()),
22+
(8, 1, 'record-public-id-8', 'record-title-8', '2025-04-06 10:00:00', '2025-04-06 11:00:00', 7000, 700, false, NOW(), NOW());

0 commit comments

Comments
 (0)