From fea40d79bcc8c30c94bb39390404a566595e1f83 Mon Sep 17 00:00:00 2001 From: Holger Hagen <19706592+holgerhagen@users.noreply.github.com> Date: Mon, 16 Apr 2018 12:10:22 +0200 Subject: [PATCH] TSK-402: fix for isRead flag update. --- .../pro/taskana/impl/TaskServiceImpl.java | 2 +- .../acceptance/task/UpdateTaskAccTest.java | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java index fc08a258b..c9b4054df 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/impl/TaskServiceImpl.java @@ -585,7 +585,7 @@ public class TaskServiceImpl implements TaskService { try { taskanaEngine.openConnection(); task = (TaskImpl) getTask(taskId); - task.setRead(true); + task.setRead(isRead); task.setModified(Instant.now()); taskMapper.update(task); LOGGER.debug("Method setTaskRead() set read property of Task '{}' to {} ", task, isRead); diff --git a/lib/taskana-core/src/test/java/acceptance/task/UpdateTaskAccTest.java b/lib/taskana-core/src/test/java/acceptance/task/UpdateTaskAccTest.java index fa062c333..f7e9203dc 100644 --- a/lib/taskana-core/src/test/java/acceptance/task/UpdateTaskAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/task/UpdateTaskAccTest.java @@ -3,10 +3,12 @@ package acceptance.task; import static org.hamcrest.core.IsEqual.equalTo; import static org.hamcrest.core.IsNot.not; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import java.sql.SQLException; @@ -183,6 +185,31 @@ public class UpdateTaskAccTest extends AbstractAccTest { assertEquals(task.getDescription(), updatedTask.getDescription()); } + @WithAccessId( + userName = "user_1_2", + groupNames = {"group_1"}) + @Test + public void testUpdateReadFlagOfTask() + throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException, + InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException, + AttachmentPersistenceException { + + TaskService taskService = taskanaEngine.getTaskService(); + + taskService.setTaskRead("TKI:000000000000000000000000000000000030", true); + Task updatedTask = taskService.getTask("TKI:000000000000000000000000000000000030"); + assertNotNull(updatedTask); + assertTrue(updatedTask.isRead()); + assertFalse(updatedTask.getCreated().equals(updatedTask.getModified())); + + taskService.setTaskRead("TKI:000000000000000000000000000000000030", false); + Task updatedTask2 = taskService.getTask("TKI:000000000000000000000000000000000030"); + assertNotNull(updatedTask2); + assertFalse(updatedTask2.isRead()); + assertFalse(updatedTask2.getModified().equals(updatedTask.getModified())); + + } + @WithAccessId( userName = "user_1_1", groupNames = {"group_1"})