diff --git a/src/main/java/org/runimo/runimo/records/service/RecordFinder.java b/src/main/java/org/runimo/runimo/records/service/RecordFinder.java index 5bdb6577..b30645d2 100644 --- a/src/main/java/org/runimo/runimo/records/service/RecordFinder.java +++ b/src/main/java/org/runimo/runimo/records/service/RecordFinder.java @@ -73,8 +73,8 @@ public List findRecordSimpleViewByUserId(Long id, int page, in private List mapToDailyStatList(List recordStatDtos) { List list = new ArrayList<>(); for (RecordStatDto recordStatDto : recordStatDtos) { - if (list.isEmpty() || list.getLast().getDate() != recordStatDto.getStartedAt() - .toLocalDate()) { + if (list.isEmpty() || !list.getLast().getDate().equals(recordStatDto.getStartedAt() + .toLocalDate())) { DailyStat dailyStat = DailyStat.empty(recordStatDto.getStartedAt().toLocalDate()); dailyStat.addData(recordStatDto); list.add(dailyStat); diff --git a/src/test/java/org/runimo/runimo/records/api/RecordAcceptanceTest.java b/src/test/java/org/runimo/runimo/records/api/RecordAcceptanceTest.java index 6a32f11d..21624c7e 100644 --- a/src/test/java/org/runimo/runimo/records/api/RecordAcceptanceTest.java +++ b/src/test/java/org/runimo/runimo/records/api/RecordAcceptanceTest.java @@ -174,7 +174,7 @@ void tearDown() { .body("payload.daily_stats[5].date", equalTo("2025-04-05")) .body("payload.daily_stats[5].distance_in_meters", equalTo(6000)) .body("payload.daily_stats[6].date", equalTo("2025-04-06")) - .body("payload.daily_stats[6].distance_in_meters", equalTo(7000)); + .body("payload.daily_stats[6].distance_in_meters", equalTo(14000)); } @Test @@ -232,14 +232,15 @@ void tearDown() { .statusCode(200) .body("code", equalTo("MY_PAGE_DATA_FETCHED")) .body("payload.simple_stat", notNullValue()) - .body("payload.simple_stat.total_time_in_seconds", equalTo(21600)) - .body("payload.simple_stat.total_running_count", equalTo(6)) - .body("payload.simple_stat.total_distance_in_meters", equalTo(27000)) + .body("payload.simple_stat.total_time_in_seconds", equalTo(25200)) + .body("payload.simple_stat.total_running_count", equalTo(7)) + .body("payload.simple_stat.total_distance_in_meters", equalTo(34000)) .body("payload.daily_stats.size()", equalTo(6)) .body("payload.daily_stats[0].date", equalTo("2025-04-01")) .body("payload.daily_stats[0].distance_in_meters", equalTo(2000)) .body("payload.daily_stats[1].date", equalTo("2025-04-02")) - .body("payload.daily_stats[1].distance_in_meters", equalTo(3000)); + .body("payload.daily_stats[1].distance_in_meters", equalTo(3000)) + .body("payload.daily_stats[5].distance_in_meters", equalTo(14000)); } @Test diff --git a/src/test/resources/sql/weekly_record_data.sql b/src/test/resources/sql/weekly_record_data.sql index ba08174b..69994f5b 100644 --- a/src/test/resources/sql/weekly_record_data.sql +++ b/src/test/resources/sql/weekly_record_data.sql @@ -18,4 +18,5 @@ VALUES (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()), (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()), (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()), - (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()); + (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()), + (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());