### Question:
WorkflowStatusServiceImpl implements IWorkflowStatusService { @Override public UpdateStatusResponse updateWorkflowStatus(UpdateStatusRequest request, DpsHeaders headers) { log.debug("Request update workflow status with parameters : {}", request); validationService.validateUpdateStatusRequest(request); WorkflowStatus workflowStatus = workflowStatusRepository .updateWorkflowStatus(request.getWorkflowId(), request.getWorkflowStatusType()); UpdateStatusResponse response = UpdateStatusResponse.builder() .workflowId(workflowStatus.getWorkflowId()) .workflowStatusType(workflowStatus.getWorkflowStatusType()).build(); log.debug("Get workflow status result: {}", response); return response; }  @Override GetStatusResponse getWorkflowStatus(GetStatusRequest request, DpsHeaders headers); @Override UpdateStatusResponse updateWorkflowStatus(UpdateStatusRequest request,
      DpsHeaders headers);  }### Answer:
@Test void shouldUpdateWorkflowStatus() { DpsHeaders headers = getMessageHeaders(); UpdateStatusRequest request = UpdateStatusRequest.builder() .workflowId(WORKFLOW_ID) .workflowStatusType(WorkflowStatusType.RUNNING).build(); WorkflowStatus workflowStatus = WorkflowStatus.builder() .workflowStatusType(WorkflowStatusType.RUNNING) .workflowId(WORKFLOW_ID) .submittedAt(new Date()).build(); given(workflowStatusRepository .updateWorkflowStatus(eq(WORKFLOW_ID), eq(WorkflowStatusType.RUNNING))) .willReturn(workflowStatus); UpdateStatusResponse updateStatusResponse = workflowStatusService .updateWorkflowStatus(request, headers); then(updateStatusResponse.getWorkflowStatusType()).isEqualTo(WorkflowStatusType.RUNNING); InOrder inOrder = Mockito.inOrder(validationService, workflowStatusRepository); inOrder.verify(validationService).validateUpdateStatusRequest(request); inOrder.verify(workflowStatusRepository) .updateWorkflowStatus(eq(WORKFLOW_ID), eq(WorkflowStatusType.RUNNING)); inOrder.verifyNoMoreInteractions(); }