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 testFallbackModelValidationMethodInvoked() { Model model = new Model(); 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(model.state1Invoked); assertTrue(model.fallbackInvoked); }
public void testStateAndFallbackErrorsModelValidationMethodInvoked() { ErrorsModel model = new ErrorsModel(); 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(model.state1Invoked); assertTrue(model.fallbackInvoked); }
public void testValidateWithMessageContext() { Object model = new StubModelMessageContext(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, null, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("messagecontext").length); assertEquals(0, messages.getMessagesBySource("validationcontext").length); }
public void testStateAndFallbackModelValidationMethodInvoked() { Model model = new Model(); 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(model.state1Invoked); assertTrue(model.fallbackInvoked); }
public void testValidateWithValidationContext() { Object model = new StubModelValidationContext(); ValidationHelper helper = new ValidationHelper(model, requestContext, eventId, modelName, null, this.codesResolver, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("validationcontext").length); }
public void testFallbackModelErrorsValidationMethodInvoked() { ErrorsModel model = new ErrorsModel(); 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(model.state1Invoked); assertTrue(model.fallbackInvoked); }
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 testStateAndFallbackLegacyValidatorInvoked() { LegacyModelValidator validator = new LegacyModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); Model model = new Model(); 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 testValidateWithErrorsForBeanValidatorOverridden() { StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.registerSingleton("modelValidator", StubModelErrorsOverridden.class); ((Flow) requestContext.getActiveFlow()).setApplicationContext(applicationContext); ValidationHelper helper = new ValidationHelper(new Object(), requestContext, eventId, modelName, null, this.codesResolver, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("validationcontext-external").length); }
public void testFallbackErrorsValidatorInvokedForSubclass() { ErrorsModelValidator validator = new ErrorsModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); Model model = new Model(); 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 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 testStateAndFallbackErrorsValidatorInvoked() { ErrorsModelValidator validator = new ErrorsModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); Model model = new Model(); 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 testValidateWithValidationContextForBeanValidator() { StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.registerSingleton("modelValidator", StubModelValidationContext.class); ((Flow) requestContext.getActiveFlow()).setApplicationContext(applicationContext); ValidationHelper helper = new ValidationHelper(new Object(), requestContext, eventId, modelName, null, this.codesResolver, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("validationcontext-external").length); }
public void testFallbackValidatorInvoked() { ModelValidator validator = new ModelValidator(); StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.getBeanFactory().registerSingleton("modelValidator", validator); requestContext.getRootFlow().setApplicationContext(applicationContext); Model model = new Model(); 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); }
public void testValidateWithErrorsForBeanValidator() { StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.registerSingleton("modelValidator", StubModelErrors.class); ((Flow) requestContext.getActiveFlow()).setApplicationContext(applicationContext); ValidationHelper helper = new ValidationHelper(new Object(), requestContext, eventId, modelName, null, this.codesResolver, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("errors-external").length); }
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 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 testValidateWithMessageContextForBeanValidator() { StaticApplicationContext applicationContext = new StaticApplicationContext(); applicationContext.registerSingleton("modelValidator", StubModelMessageContext.class); ((Flow) requestContext.getActiveFlow()).setApplicationContext(applicationContext); ValidationHelper helper = new ValidationHelper(new Object(), requestContext, eventId, modelName, null, this.codesResolver, null); helper.validate(); MessageContext messages = requestContext.getMessageContext(); assertEquals(1, messages.getAllMessages().length); assertEquals(1, messages.getMessagesBySource("messagecontext-external").length); }