use of org.mifos.platform.questionnaire.ui.model.QuestionForm in project head by mifos.
the class QuestionControllerTest method testAddQuestionForSuccess.
@Test
public void testAddQuestionForSuccess() throws Exception {
QuestionForm questionForm = getQuestionForm(TITLE, "numeric");
when(questionnaireServiceFacade.isDuplicateQuestion(TITLE)).thenReturn(false);
when(messageContext.getAllMessages()).thenReturn(new Message[] {});
when(requestContext.getMessageContext()).thenReturn(messageContext);
String result = questionController.addQuestion(questionForm, requestContext, true);
List<Question> questions = questionForm.getQuestions();
Mockito.verify(questionnaireServiceFacade).isDuplicateQuestion(TITLE);
Assert.assertThat(questions, is(notNullValue()));
Assert.assertThat(questions.size(), is(1));
Assert.assertThat(result, is("success"));
}
use of org.mifos.platform.questionnaire.ui.model.QuestionForm in project head by mifos.
the class QuestionControllerTest method testAddQuestionForFailureWhenQuestionTitleNotProvided.
@Test
public void testAddQuestionForFailureWhenQuestionTitleNotProvided() throws Exception {
QuestionForm questionForm = new QuestionForm();
questionForm.setValidator(validator);
when(requestContext.getMessageContext()).thenReturn(messageContext);
when(messageContext.hasErrorMessages()).thenReturn(true);
String result = questionController.addQuestion(questionForm, requestContext, true);
Assert.assertThat(questionForm.getQuestions().size(), is(0));
Assert.assertThat(result, is(notNullValue()));
Assert.assertThat(result, is("failure"));
Mockito.verify(requestContext).getMessageContext();
Mockito.verify(messageContext).addMessage(argThat(new MessageMatcher("NotNull.QuestionForm.currentQuestion.text")));
}
use of org.mifos.platform.questionnaire.ui.model.QuestionForm in project head by mifos.
the class QuestionControllerTest method testAddQuestionForFailureWhenQuestionTitleIsDuplicateInForm.
@Test
public void testAddQuestionForFailureWhenQuestionTitleIsDuplicateInForm() throws Exception {
QuestionForm questionForm = new QuestionForm();
questionForm.getCurrentQuestion().setText(" " + TITLE + " ");
questionForm.setQuestions(Arrays.asList(getQuestion("0", TITLE, "number")));
when(requestContext.getMessageContext()).thenReturn(messageContext);
String result = questionController.addQuestion(questionForm, requestContext, true);
Assert.assertThat(questionForm.getQuestions().size(), is(1));
Assert.assertThat(result, is(notNullValue()));
Assert.assertThat(result, is("failure"));
Mockito.verify(requestContext).getMessageContext();
Mockito.verify(messageContext).addMessage(argThat(new MessageMatcher("questionnaire.error.question.duplicate")));
}
use of org.mifos.platform.questionnaire.ui.model.QuestionForm in project head by mifos.
the class QuestionControllerTest method testCreateQuestionSuccess.
@Test
public void testCreateQuestionSuccess() throws Exception {
QuestionForm questionForm = getQuestionForm(TITLE, "date");
String result = questionController.createQuestions(questionForm, requestContext);
Assert.assertThat(result, is("success"));
Mockito.verify(questionnaireServiceFacade).createQuestions(anyListOf(QuestionDetail.class));
}
use of org.mifos.platform.questionnaire.ui.model.QuestionForm in project head by mifos.
the class QuestionControllerTest method testAddQuestionDuringEditOperationWhereTitleIsUnchanged.
@Test
public void testAddQuestionDuringEditOperationWhereTitleIsUnchanged() throws Exception {
Question currentQuestion = new Question();
QuestionDetail questionDetail = new QuestionDetail();
questionDetail.setText(TITLE);
currentQuestion.setQuestionDetail(questionDetail);
QuestionForm questionForm = new QuestionForm();
questionForm.setCurrentQuestion(currentQuestion);
when(requestContext.getMessageContext()).thenReturn(messageContext);
when(questionnaireServiceFacade.isDuplicateQuestion(TITLE)).thenReturn(true);
String result = questionController.addQuestion(questionForm, requestContext, false);
Assert.assertThat(questionForm.getQuestions().size(), is(1));
Assert.assertThat(result, is("success"));
}
Aggregations