### Question:
EidasAuthnFailedErrorStateController extends AbstractAuthnFailedErrorStateController<EidasAuthnFailedErrorState> implements RestartJourneyStateController, EidasCountrySelectingStateController { @Override public void transitionToSessionStartedState() { final SessionStartedState sessionStartedState = createSessionStartedState(); hubEventLogger.logSessionMovedToStartStateEvent(sessionStartedState); stateTransitionAction.transitionTo(sessionStartedState); } EidasAuthnFailedErrorStateController(
            EidasAuthnFailedErrorState state,
            ResponseFromHubFactory responseFromHubFactory,
            StateTransitionAction stateTransitionAction,
            HubEventLogger hubEventLogger); @Override void transitionToSessionStartedState(); @Override void selectCountry(final String countryEntityId);  }### Answer:
@Test public void shouldTransitionToSessionStartedStateAndLogEvent() { controller.transitionToSessionStartedState(); ArgumentCaptor<SessionStartedState> capturedState = ArgumentCaptor.forClass(SessionStartedState.class); verify(stateTransitionAction, times(1)).transitionTo(capturedState.capture()); verify(hubEventLogger, times(1)).logSessionMovedToStartStateEvent(capturedState.getValue()); assertThat(capturedState.getValue().getSessionId()).isEqualTo(eidasAuthnFailedErrorState.getSessionId()); assertThat(capturedState.getValue().getRequestIssuerEntityId()).isEqualTo(REQUEST_ISSUER_ID); assertThat(capturedState.getValue().getTransactionSupportsEidas()).isEqualTo(true); assertThat(capturedState.getValue().getForceAuthentication().orElse(null)).isEqualTo(true); }