@Test
  public void testCheckStates() {
    // given
    final WorkflowActionModel mockAction1 = getActionWithStatus(WorkflowActionStatus.IN_PROGRESS);
    final WorkflowActionModel mockAction2 =
        getActionWithStatus(WorkflowActionStatus.ENDED_THROUGH_END_OF_WORKFLOW);
    final WorkflowActionModel mockAction3 = getActionWithStatus(WorkflowActionStatus.COMPLETED);
    final WorkflowActionModel mockAction4 = getActionWithStatus(WorkflowActionStatus.DISABLED);
    final WorkflowActionModel mockAction5 = getActionWithStatus(WorkflowActionStatus.PAUSED);
    final WorkflowActionModel mockAction6 = getActionWithStatus(WorkflowActionStatus.PENDING);
    final WorkflowActionModel mockAction7 = getActionWithStatus(WorkflowActionStatus.TERMINATED);

    // when
    final boolean isActive = workflowActionService.isActive(mockAction1);
    final boolean isEndedByWorkflow = workflowActionService.isEndedByWorkflow(mockAction2);
    final boolean isCompleted = workflowActionService.isCompleted(mockAction3);
    final boolean isDisabled = workflowActionService.isDisabled(mockAction4);
    final boolean isCompleted2 = workflowActionService.isDisabled(mockAction4);
    final boolean isNotActive = workflowActionService.isActive(mockAction5);
    final boolean isNotCompleted = workflowActionService.isCompleted(mockAction6);
    final boolean isNotDisabled = workflowActionService.isDisabled(mockAction7);

    // then
    assertThat(isActive).isTrue();
    assertThat(isEndedByWorkflow).isTrue();
    assertThat(isCompleted).isTrue();
    assertThat(isDisabled).isTrue();
    assertThat(isCompleted2).isTrue();
    assertThat(isNotActive).isFalse();
    assertThat(isNotCompleted).isFalse();
    assertThat(isNotDisabled).isFalse();
  }