public void testStateAndFallbackLegacyValidatorInvokedForSubclass() { LegacyModelValidator validator = new LegacyModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, this.codesResolver, null); ViewState state1 = new ViewState(requestContext.getRootFlow(), "state1", new StubViewFactory()); requestContext.setCurrentState(state1); helper.validate(); assertTrue(validator.state1Invoked); assertTrue(validator.fallbackInvoked); }
public void testSmartValidatorWithHintOnTransition() { Transition transition = new Transition(); transition.setMatchingCriteria(new DefaultTransitionCriteria(new StaticExpression(eventId))); transition.getAttributes().put("validationHints", new StaticExpression("State1")); ViewState state = new ViewState(requestContext.getRootFlow(), "state2", new StubViewFactory()); state.getTransitionSet().add(transition); requestContext.setCurrentState(state); LegacyModelValidator validator = new LegacyModelValidator(); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, codesResolver, null); helper.setValidator(validator); helper.validate(); assertTrue(validator.fallbackInvoked); assertTrue(validator.hints.length > 0); assertEquals(Model.State1.class, validator.hints[0]); }
public void testStateAndFallbackErrorsValidatorInvokedForSubclass() { ErrorsModelValidator validator = new ErrorsModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, this.codesResolver, null); ViewState state1 = new ViewState(requestContext.getRootFlow(), "state1", new StubViewFactory()); requestContext.setCurrentState(state1); helper.validate(); assertTrue(validator.state1Invoked); assertTrue(validator.fallbackInvoked); }
public void testSmartValidatorWithClassHint() { ViewState state = new ViewState(requestContext.getRootFlow(), "state2", new StubViewFactory()); state.getAttributes().put("validationHints", new StaticExpression(new Object[] { Model.State1.class })); requestContext.setCurrentState(state); LegacyModelValidator validator = new LegacyModelValidator(); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, codesResolver, null); helper.setValidator(validator); helper.validate(); assertTrue(validator.fallbackInvoked); assertTrue(validator.hints.length > 0); assertEquals(Model.State1.class, validator.hints[0]); }
public void testSmartValidatorWithHintResolution() { ViewState state = new ViewState(requestContext.getRootFlow(), "state2", new StubViewFactory()); state.getAttributes().put("validationHints", new StaticExpression("State1")); requestContext.setCurrentState(state); LegacyModelValidator validator = new LegacyModelValidator(); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, codesResolver, null); helper.setValidator(validator); helper.validate(); assertTrue(validator.fallbackInvoked); assertTrue(validator.hints.length > 0); assertEquals(Model.State1.class, validator.hints[0]); }
public void testFallbackValidatorInvokedForSubclass() { ModelValidator validator = new ModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, this.codesResolver, null); ViewState state1 = new ViewState(requestContext.getRootFlow(), "state2", new StubViewFactory()); requestContext.setCurrentState(state1); helper.validate(); assertFalse(validator.state1Invoked); assertTrue(validator.fallbackInvoked); }
public void testStateAndFallbackValidatorInvokedForSubclass() { ModelValidator validator = new ModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); ExtendedModel model = new ExtendedModel(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, this.codesResolver, null); ViewState state1 = new ViewState(requestContext.getRootFlow(), "state1", new StubViewFactory()); requestContext.setCurrentState(state1); helper.validate(); assertTrue(validator.state1Invoked); assertTrue(validator.fallbackInvoked); }