private void assertCarInsuranceCaseInstance(CaseInstance caseInstance, String caseId, String owner) { Assertions.assertThat(caseInstance).isNotNull(); Assertions.assertThat(caseInstance.getCaseId()).isEqualTo(caseId); Assertions.assertThat(caseInstance.getCaseDefinitionId()).isEqualTo(CLAIM_CASE_DEF_ID); Assertions.assertThat(caseInstance.getCaseDescription()).isEqualTo(CLAIM_CASE_DESRIPTION); Assertions.assertThat(caseInstance.getCaseOwner()).isEqualTo(owner); Assertions.assertThat(caseInstance.getCaseStatus().intValue()).isEqualTo(STATE_ACTIVE); Assertions.assertThat(caseInstance.getStartedAt()).isNotNull(); Assertions.assertThat(caseInstance.getCompletedAt()).isNull(); Assertions.assertThat(caseInstance.getCompletionMessage()).isEqualTo(""); Assertions.assertThat(caseInstance.getContainerId()).isEqualTo(CONTAINER_ID); }
@Override public CaseInstanceSummary apply(final CaseInstance ci) { if (ci == null) { return null; } return CaseInstanceSummary.builder(). caseId(ci.getCaseId()). description(ci.getCaseDescription()). status(ci.getCaseStatus()). containerId(ci.getContainerId()). owner(ci.getCaseOwner()). startedAt(ci.getStartedAt()). completedAt(ci.getCompletedAt()). caseDefinitionId(ci.getCaseDefinitionId()). roleAssignments( ofNullable(ci.getRoleAssignments()).orElse(emptyList()) .stream() .map(new RoleAssignmentsMapper()) .collect(toList())). stages( ofNullable(ci.getStages()).orElse(emptyList()) .stream() .map(new CaseStageMapper()) .collect(toList())). build(); }
@Override public CaseInstanceSummary apply(final CaseInstance ci) { if (ci == null) { return null; } return CaseInstanceSummary.builder(). caseId(ci.getCaseId()). description(ci.getCaseDescription()). status(CaseStatus.fromId(ci.getCaseStatus())). containerId(ci.getContainerId()). owner(ci.getCaseOwner()). startedAt(ci.getStartedAt()). completedAt(ci.getCompletedAt()). caseDefinitionId(ci.getCaseDefinitionId()). roleAssignments( ofNullable(ci.getRoleAssignments()).orElse(emptyList()) .stream() .map(new RoleAssignmentsMapper()) .collect(toList())). stages( ofNullable(ci.getStages()).orElse(emptyList()) .stream() .map(new CaseStageMapper()) .collect(toList())). build(); } }
@Override public CaseInstanceSummary apply(final CaseInstance ci) { if (ci == null) { return null; } return CaseInstanceSummary.builder(). caseId(ci.getCaseId()). description(ci.getCaseDescription()). status(CaseStatus.fromId(ci.getCaseStatus())). containerId(ci.getContainerId()). owner(ci.getCaseOwner()). startedAt(ci.getStartedAt()). completedAt(ci.getCompletedAt()). caseDefinitionId(ci.getCaseDefinitionId()). roleAssignments( ofNullable(ci.getRoleAssignments()).orElse(emptyList()) .stream() .map(new RoleAssignmentsMapper()) .collect(toList())). stages( ofNullable(ci.getStages()).orElse(emptyList()) .stream() .map(new CaseStageMapper()) .collect(toList())). build(); } }
@Test public void testCreateCloseAndReopenCaseWithEmptyCaseFile() { String caseId = startCarInsuranceClaimCase(USER_YODA, USER_JOHN, USER_YODA); Assertions.assertThat(caseId).isNotNull(); Assertions.assertThat(caseId).startsWith(CLAIM_CASE_ID_PREFIX); CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); assertCarInsuranceCaseInstance(caseInstance, caseId, USER_YODA); caseClient.closeCaseInstance(CONTAINER_ID, caseId, "work done at the moment"); CaseInstance closed = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(closed.getCaseStatus()).isEqualTo(2); Assertions.assertThat(closed.getCompletionMessage()).isEqualTo("work done at the moment"); Map<String, Object> data = new HashMap<>(); data.put("additionalComment", "reopening the case"); caseClient.reopenCase(caseId, CONTAINER_ID, CLAIM_CASE_DEF_ID, data); caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(caseInstance).isNotNull(); Assertions.assertThat(caseInstance.getCaseId()).isEqualTo(caseId); Object additionalComment = caseClient.getCaseInstanceData(CONTAINER_ID, caseId, "additionalComment"); Assertions.assertThat(additionalComment).isNotNull(); Assertions.assertThat(additionalComment).isEqualTo("reopening the case"); }
@Test public void testCreateCancelAndReopenCaseWithEmptyCaseFile() { String caseId = startCarInsuranceClaimCase(USER_YODA, USER_JOHN, USER_YODA); Assertions.assertThat(caseId).isNotNull(); Assertions.assertThat(caseId).startsWith(CLAIM_CASE_ID_PREFIX); CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); assertCarInsuranceCaseInstance(caseInstance, caseId, USER_YODA); caseClient.cancelCaseInstance(CONTAINER_ID, caseId); CaseInstance closed = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(closed.getCaseStatus()).isEqualTo(3); Map<String, Object> data = new HashMap<>(); data.put("additionalComment", "reopening the case"); caseClient.reopenCase(caseId, CONTAINER_ID, CLAIM_CASE_DEF_ID, data); caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(caseInstance).isNotNull(); Assertions.assertThat(caseInstance.getCaseId()).isEqualTo(caseId); Object additionalComment = caseClient.getCaseInstanceData(CONTAINER_ID, caseId, "additionalComment"); Assertions.assertThat(additionalComment).isNotNull(); Assertions.assertThat(additionalComment).isEqualTo("reopening the case"); }
@Test public void testCreateCaseWithEmptyCaseFileThenDestroyIt() { String caseId = startCarInsuranceClaimCase(USER_YODA, USER_JOHN, USER_YODA); Assertions.assertThat(caseId).isNotNull(); Assertions.assertThat(caseId).startsWith(CLAIM_CASE_ID_PREFIX); CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); assertCarInsuranceCaseInstance(caseInstance, caseId, USER_YODA); List<TaskSummary> tasks = taskClient.findTasksAssignedAsPotentialOwner(USER_YODA, 0, 10); assertEquals(1, tasks.size()); caseClient.destroyCaseInstance(CONTAINER_ID, caseId); CaseInstance closed = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(closed.getCaseStatus()).isEqualTo(3); }
@Test public void testDestroyCaseInstance() { Map<String, Object> caseData = new HashMap<>(); caseData.put("car", "ford"); CaseFile caseFile = CaseFile.builder() .data(caseData) .addUserAssignments(CASE_INSURED_ROLE, USER_YODA) .addUserAssignments(CASE_INS_REP_ROLE, USER_JOHN) .addUserAssignments(CASE_ASSESSOR_ROLE, USER_YODA) .build(); String caseId = caseClient.startCase(CONTAINER_ID, CLAIM_CASE_DEF_ID, caseFile); Assertions.assertThat(caseId).isNotNull(); CaseInstance caseInstance = caseClient.getCaseInstance(CONTAINER_ID, caseId); assertCarInsuranceCaseInstance(caseInstance, caseId, USER_YODA); caseClient.destroyCaseInstance(CONTAINER_ID, caseId); CaseInstance closed = caseClient.getCaseInstance(CONTAINER_ID, caseId); Assertions.assertThat(closed.getCaseStatus()).isEqualTo(3); // Should throw exception because destroyed case cannot be reopen. assertClientException(() -> caseClient.reopenCase(caseId, CONTAINER_ID, CLAIM_CASE_DEF_ID), 404 , caseId); }
private void assertCarInsuranceCaseInstance(CaseInstance caseInstance, String caseId, String owner) { assertNotNull(caseInstance); assertEquals(caseId, caseInstance.getCaseId()); assertEquals(CLAIM_CASE_DEF_ID, caseInstance.getCaseDefinitionId()); assertEquals(CLAIM_CASE_DESRIPTION, caseInstance.getCaseDescription()); assertEquals(owner, caseInstance.getCaseOwner()); assertEquals(CaseStatus.OPEN.getId(), caseInstance.getCaseStatus().intValue()); assertNotNull(caseInstance.getStartedAt()); assertNull(caseInstance.getCompletedAt()); assertEquals("", caseInstance.getCompletionMessage()); assertEquals(CONTAINER_ID, caseInstance.getContainerId()); }
private void assertHrCaseInstance(CaseInstance caseInstance, String caseId, String owner) { assertNotNull(caseInstance); assertEquals(caseId, caseInstance.getCaseId()); assertEquals(CASE_HR_DEF_ID, caseInstance.getCaseDefinitionId()); assertEquals(CASE_HR_DESRIPTION, caseInstance.getCaseDescription()); assertEquals(owner, caseInstance.getCaseOwner()); assertEquals(CaseStatus.OPEN.getId(), caseInstance.getCaseStatus().intValue()); assertNotNull(caseInstance.getStartedAt()); assertNull(caseInstance.getCompletedAt()); assertEquals("", caseInstance.getCompletionMessage()); assertEquals(CONTAINER_ID, caseInstance.getContainerId()); }
static void assertCaseInstance(final CaseInstance ci, final CaseInstanceSummary cis) { assertNotNull(cis); assertEquals(ci.getCaseId(), cis.getCaseId()); assertEquals(ci.getContainerId(), cis.getContainerId()); assertEquals(ci.getCaseStatus(), cis.getStatus().getId()); assertEquals(ci.getCaseDescription(), cis.getDescription()); assertEquals(ci.getCaseOwner(), cis.getOwner()); assertEquals(ci.getStartedAt(), cis.getStartedAt()); assertEquals(ci.getCompletedAt(), cis.getCompletedAt()); assertEquals(ci.getCaseDefinitionId(), cis.getCaseDefinitionId()); assertCaseStages(ci.getStages(), cis.getStages()); }
static void assertCaseInstance(final CaseInstance ci, final CaseInstanceSummary cis) { assertNotNull(cis); assertEquals(ci.getCaseId(), cis.getCaseId()); assertEquals(ci.getContainerId(), cis.getContainerId()); assertEquals(ci.getCaseStatus(), cis.getStatus().getId()); assertEquals(ci.getCaseDescription(), cis.getDescription()); assertEquals(ci.getCaseOwner(), cis.getOwner()); assertEquals(ci.getStartedAt(), cis.getStartedAt()); assertEquals(ci.getCompletedAt(), cis.getCompletedAt()); assertEquals(ci.getCaseDefinitionId(), cis.getCaseDefinitionId()); assertCaseStages(ci.getStages(), cis.getStages()); }