use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class SavingsAccountActionTest method getSectionDetail.
private SectionDetail getSectionDetail(String name, String title, List<String> answerChoices) {
SectionDetail sectionDetail = new SectionDetail();
sectionDetail.setName(name);
QuestionDetail questionDetail = new QuestionDetail(111, title, QuestionType.SINGLE_SELECT, true, true);
List<ChoiceDto> choiceDtos = new ArrayList<ChoiceDto>();
for (String answerChoice : answerChoices) {
choiceDtos.add(new ChoiceDto(answerChoice));
}
questionDetail.setAnswerChoices(choiceDtos);
sectionDetail.setQuestionDetails(asList(new SectionQuestionDetail(questionDetail, true)));
return sectionDetail;
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireFlowAdapterTest method getSectionDetailWithQuestions.
private SectionDetail getSectionDetailWithQuestions(String sectionName, List<QuestionDetail> questionDetails, String value, boolean mandatory) {
SectionDetail section = new SectionDetail();
section.setName(sectionName);
List<SectionQuestionDetail> sectionQuestions = new ArrayList<SectionQuestionDetail>();
for (QuestionDetail questionDetail : questionDetails) {
SectionQuestionDetail sectionQuestion = new SectionQuestionDetail(questionDetail, mandatory);
sectionQuestion.setValue(value);
sectionQuestions.add(sectionQuestion);
}
section.setQuestionDetails(sectionQuestions);
return section;
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireServiceTest method shouldThrowValidationExceptionWhenQuestionTitleIsNull.
@SuppressWarnings({ "ThrowableInstanceNeverThrown" })
@Test(expected = SystemException.class)
public void shouldThrowValidationExceptionWhenQuestionTitleIsNull() throws SystemException {
QuestionDetail questionDefinition = new QuestionDetail(null, QuestionType.INVALID);
doThrow(new SystemException(QuestionnaireConstants.QUESTION_TEXT_NOT_PROVIDED)).when(questionnaireValidator).validateForDefineQuestion(questionDefinition);
questionnaireService.defineQuestion(questionDefinition);
verify(questionnaireValidator).validateForDefineQuestion(questionDefinition);
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireServiceTest method getSectionDefinition.
private SectionDetail getSectionDefinition(String name) {
SectionDetail section = new SectionDetail();
section.setName(name);
section.addQuestion(new SectionQuestionDetail(new QuestionDetail(11, null, QuestionType.INVALID, true, true), true));
section.addQuestion(new SectionQuestionDetail(new QuestionDetail(12, null, QuestionType.INVALID, true, true), false));
return section;
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireServiceTest method shouldSaveResponses.
@Test
public void shouldSaveResponses() {
List<QuestionDetail> questionDetails = asList(new QuestionDetail(12, "Question 1", QuestionType.FREETEXT, true, true));
List<SectionDetail> sectionDetails = asList(getSectionDetailWithQuestions("Sec1", questionDetails, "value", false));
QuestionGroupDetail questionGroupDetail = new QuestionGroupDetail(1, "QG1", Arrays.asList(new EventSourceDto("Create", "Client", null)), sectionDetails, true);
QuestionGroupInstance questionGroupInstance = new QuestionGroupInstance();
questionGroupInstance.setVersionNum(0);
when(questionGroupInstanceDao.retrieveLatestQuestionGroupInstanceByQuestionGroupAndEntity(1, 1)).thenReturn(asList(questionGroupInstance));
questionnaireService.saveResponses(new QuestionGroupDetails(1, 1, 1, asList(questionGroupDetail)));
verify(questionGroupInstanceDao).retrieveLatestQuestionGroupInstanceByQuestionGroupAndEntity(1, 1);
verify(questionnaireValidator, times(1)).validateForQuestionGroupResponses(asList(questionGroupDetail));
// TODO: Verify the contents using a custom matcher
verify(questionGroupInstanceDao, times(1)).saveOrUpdateAll(Matchers.<List<QuestionGroupInstance>>any());
}
Aggregations