From 0d2006e948cbd005e6b827a3c7b5142f0dde4cac Mon Sep 17 00:00:00 2001 From: Subin Cho Date: Tue, 22 Apr 2025 03:11:19 +0900 Subject: [PATCH] =?UTF-8?q?=20fix:=20task=20status=20=EC=99=84=EB=A3=8C=20?= =?UTF-8?q?=EC=8B=9C=20=EC=99=84=EB=A3=8C=20=EB=82=A0=EC=A7=9C=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/amcamp/domain/task/domain/Task.java | 7 +++++-- .../java/com/amcamp/domain/task/TaskServiceTest.java | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/amcamp/domain/task/domain/Task.java b/src/main/java/com/amcamp/domain/task/domain/Task.java index 157d050a..aa010023 100644 --- a/src/main/java/com/amcamp/domain/task/domain/Task.java +++ b/src/main/java/com/amcamp/domain/task/domain/Task.java @@ -89,9 +89,12 @@ public void updateTaskBasicInfo(TaskBasicInfoUpdateRequest request) { } public void updateTaskStatus() { - if (this.taskStatus != TaskStatus.COMPLETED) this.taskStatus = TaskStatus.COMPLETED; - else { + if (this.taskStatus != TaskStatus.COMPLETED) { + this.taskStatus = TaskStatus.COMPLETED; + this.dueDt = LocalDate.now(); + } else { this.taskStatus = TaskStatus.ON_GOING; + this.dueDt = null; } } diff --git a/src/test/java/com/amcamp/domain/task/TaskServiceTest.java b/src/test/java/com/amcamp/domain/task/TaskServiceTest.java index cb9a0593..8821b0f8 100644 --- a/src/test/java/com/amcamp/domain/task/TaskServiceTest.java +++ b/src/test/java/com/amcamp/domain/task/TaskServiceTest.java @@ -271,6 +271,7 @@ class 태스크_수정_시 { } @Test + @Transactional void 정상적으로_완료된_태스크를_미완료처리한다() { // given TaskCreateRequest taskRequest = @@ -283,12 +284,14 @@ class 태스크_수정_시 { .orElseThrow(() -> new CommonException(TaskErrorCode.TASK_NOT_FOUND)); task.assignTask(participant); - task.updateTaskStatus(); - // when + // when & then task.updateTaskStatus(); + assertThat(task.getDueDt()).isEqualTo(LocalDate.now()); - // then + // when & then + task.updateTaskStatus(); + assertThat(task.getDueDt()).isNull(); assertThat(task.getTaskStatus()).isEqualTo(TaskStatus.ON_GOING); }