From 840c86b06f7197c04810ce5b43fd248afb84dd1f Mon Sep 17 00:00:00 2001 From: fakerdeft Date: Fri, 31 Jul 2026 17:32:13 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=9D=B5=EB=AA=85=20=EC=A0=9C=EB=B3=B4?= =?UTF-8?q?=20=ED=94=BC=EB=93=9C=20=EC=A1=B0=ED=9A=8C=20=EC=98=A4=EB=A5=98?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20=EB=B0=8F=200.2.2=20=EB=B0=B0=ED=8F=AC?= =?UTF-8?q?=20=EC=A4=80=EB=B9=84=20-=20=EC=9D=B5=EB=AA=85=20=EC=A0=9C?= =?UTF-8?q?=EB=B3=B4=EC=9D=98=20null=20=ED=9A=8C=EC=9B=90=20ID=20=EC=A1=B0?= =?UTF-8?q?=ED=9A=8C=EB=A1=9C=20=EB=B0=9C=EC=83=9D=ED=95=98=EB=8D=98=20NPE?= =?UTF-8?q?=20=EB=B0=A9=EC=A7=80=20-=20=EC=9E=91=EC=84=B1=EC=9E=90=20?= =?UTF-8?q?=EC=9C=A0=ED=98=95=EC=97=90=20=EB=94=B0=EB=A5=B8=20=EC=95=88?= =?UTF-8?q?=EC=A0=84=ED=95=9C=20=ED=9A=8C=EC=9B=90=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=EB=A7=A4=ED=95=91=20-=20=EC=9D=B5=EB=AA=85=20=EC=A0=9C?= =?UTF-8?q?=EB=B3=B4=20=EB=AA=A9=EB=A1=9D=20=ED=9A=8C=EA=B7=80=20=ED=85=8C?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=20=EB=B3=B4=EA=B0=95=20-=20=EB=B0=B0?= =?UTF-8?q?=ED=8F=AC=20=EB=B2=84=EC=A0=84=EC=9D=84=200.2.2=EB=A1=9C=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 2 +- .../nalssilog/report/application/ReportService.java | 13 ++++++++++++- .../report/application/ReportServiceTest.java | 7 +++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/gradle.properties b/gradle.properties index 7b6cf32..7be3162 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -appVersion=0.2.1 +appVersion=0.2.2 diff --git a/report/src/main/java/com/nalssilog/report/application/ReportService.java b/report/src/main/java/com/nalssilog/report/application/ReportService.java index 06f3a86..a78b451 100644 --- a/report/src/main/java/com/nalssilog/report/application/ReportService.java +++ b/report/src/main/java/com/nalssilog/report/application/ReportService.java @@ -93,7 +93,7 @@ public CursorPage list(Long locationId, String cursor, ReportAct .toList()); List items = page.stream() - .map(data -> ReportResponse.of(data, location, authors.get(data.authorMemberId()), + .map(data -> ReportResponse.of(data, location, resolveAuthor(data, authors), counts.getOrDefault(data.id(), 0L), thanked.contains(data.id()), isAuthor(data, ownershipActors), @@ -219,6 +219,17 @@ private AuthorInfo resolveAuthor(ReportData data) { return memberClient.findActiveAuthor(data.authorMemberId()).orElse(null); } + private AuthorInfo resolveAuthor( + ReportData data, + Map authors + ) { + if (data.authorType() != ActorType.MEMBER) { + return null; + } + + return authors.get(data.authorMemberId()); + } + private boolean isAuthor(WeatherReport report, ReportActor actor) { if (report.getAuthorType() != actor.type()) { return false; diff --git a/report/src/test/java/com/nalssilog/report/application/ReportServiceTest.java b/report/src/test/java/com/nalssilog/report/application/ReportServiceTest.java index bb7fd3e..23285bb 100644 --- a/report/src/test/java/com/nalssilog/report/application/ReportServiceTest.java +++ b/report/src/test/java/com/nalssilog/report/application/ReportServiceTest.java @@ -139,6 +139,7 @@ void listIncludesOwnershipCalculatedFromAllAvailableActors() { when(locationClient.getLocation(1L)).thenReturn(location()); when(thanksRepository.countByReportIds(List.of(10L))).thenReturn(Map.of()); when(thanksRepository.thankedReportIds(List.of(10L), ReportActor.member(1L))).thenReturn(Set.of()); + when(memberClient.findActiveAuthors(List.of())).thenReturn(Map.of()); CursorPage response = service.list( 1L, @@ -148,8 +149,10 @@ void listIncludesOwnershipCalculatedFromAllAvailableActors() { ); assertThat(response.items()).singleElement() - .extracting(ReportResponse::isMine) - .isEqualTo(true); + .satisfies(item -> { + assertThat(item.isMine()).isTrue(); + assertThat(item.author().type()).isEqualTo(ActorType.ANONYMOUS); + }); } @Test