@Test
    void verifyTrustedDevice() {
        val registry = getMultifactorFlowDefinitionRegistry();
        assertTrue(registry.containsFlowDefinition(getMultifactorEventId()));
        val flow = (Flow) registry.getFlowDefinition(getMultifactorEventId());
        assertTrue(flow.containsState(CasWebflowConstants.STATE_ID_REGISTER_TRUSTED_DEVICE));
        assertTrue(flow.containsState(CasWebflowConstants.STATE_ID_FINISH_MFA_TRUSTED_AUTH));
        assertTrue(flow.containsState(CasWebflowConstants.STATE_ID_PREPARE_REGISTER_TRUSTED_DEVICE));
        assertTrue(flow.containsState(CasWebflowConstants.STATE_ID_REGISTER_DEVICE_VIEW));

        val prepare = (ActionState) flow.getState(CasWebflowConstants.STATE_ID_PREPARE_REGISTER_TRUSTED_DEVICE);
        assertNotNull(prepare.getTransition(CasWebflowConstants.TRANSITION_ID_SKIP));
        assertNotNull(prepare.getTransition(CasWebflowConstants.TRANSITION_ID_REGISTER));
        assertNotNull(prepare.getTransition(CasWebflowConstants.TRANSITION_ID_STORE));
    }
Ensures that, for every transition within this MFA flow, the target
state is present within the flow.
core/cas-server-core-webflow-mfa-api/src/test/java/org/apereo/cas/web/flow/configurer/BaseMultifactorWebflowConfigurerTests.java