@Test
  public void testStepShouldProcessError_WhenMappingTransHasError() throws KettleException {

    // Set Up TransMock to return the error
    int errorCount = 1;
    when(stepMockHelper.trans.getErrors()).thenReturn(errorCount);

    // The step has been already finished
    when(stepMockHelper.trans.isFinished()).thenReturn(Boolean.TRUE);
    // The step was started
    simpleMpData.wasStarted = true;

    smp =
        new SimpleMapping(
            stepMockHelper.stepMeta,
            stepMockHelper.stepDataInterface,
            0,
            stepMockHelper.transMeta,
            stepMockHelper.trans);
    smp.init(stepMockHelper.initStepMetaInterface, simpleMpData);

    smp.dispose(stepMockHelper.processRowsStepMetaInterface, simpleMpData);
    verify(stepMockHelper.trans, times(1)).isFinished();
    verify(stepMockHelper.trans, never()).waitUntilFinished();
    verify(stepMockHelper.trans, never()).addActiveSubTransformation(anyString(), any(Trans.class));
    verify(stepMockHelper.trans, never()).removeActiveSubTransformation(anyString());
    verify(stepMockHelper.trans, never()).getActiveSubTransformation(anyString());
    verify(stepMockHelper.trans, times(1)).getErrors();
    assertTrue("The step contains the errors", smp.getErrors() == errorCount);
  }