use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireMapperTest method shouldMapNumericQuestionDetailToQuestion.
@Test
public void shouldMapNumericQuestionDetailToQuestion() {
QuestionDetail questionDetail = new QuestionDetail(TITLE, QuestionType.NUMERIC);
questionDetail.setNumericMin(10);
questionDetail.setNumericMax(100);
QuestionEntity questionEntity = questionnaireMapper.mapToQuestion(questionDetail);
assertThat(questionEntity, is(notNullValue()));
assertThat(questionEntity.getQuestionText(), is(TITLE));
assertThat(questionEntity.getAnswerTypeAsEnum(), is(AnswerType.NUMBER));
assertThat(questionEntity.getNumericMin(), is(10));
assertThat(questionEntity.getNumericMax(), is(100));
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireServiceTest method getSectionDetailWithQuestions.
private SectionDetail getSectionDetailWithQuestions(String name, List<QuestionDetail> questionDetails, String value, boolean mandatory) {
SectionDetail sectionDetail = new SectionDetail();
sectionDetail.setName(name);
List<SectionQuestionDetail> sectionQuestionDetails = new ArrayList<SectionQuestionDetail>();
for (QuestionDetail questionDetail : questionDetails) {
SectionQuestionDetail sectionQuestionDetail = new SectionQuestionDetail(questionDetail, mandatory);
sectionQuestionDetail.setValue(value);
sectionQuestionDetails.add(sectionQuestionDetail);
}
sectionDetail.setQuestionDetails(sectionQuestionDetails);
return sectionDetail;
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionnaireServiceTest method testValidateResponse.
@Test
public void testValidateResponse() {
List<QuestionDetail> questionDetails = asList(new QuestionDetail(12, "Question 1", QuestionType.FREETEXT, true, true));
List<SectionDetail> sectionDetails = asList(getSectionDetailWithQuestions("Sec1", questionDetails, null, true));
QuestionGroupDetail questionGroupDetail = new QuestionGroupDetail(1, "QG1", Arrays.asList(new EventSourceDto("Create", "Client", null)), sectionDetails, true);
try {
doThrow(new MandatoryAnswerNotFoundException("Title")).when(questionnaireValidator).validateForQuestionGroupResponses(asList(questionGroupDetail));
questionnaireService.validateResponses(asList(questionGroupDetail));
Assert.fail("Should not have thrown the validation exception");
} catch (ValidationException e) {
verify(questionnaireValidator, times(1)).validateForQuestionGroupResponses(asList(questionGroupDetail));
}
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionDaoIntegrationTest method testRetrieveByState.
@Test
@Transactional
public void testRetrieveByState() throws SystemException {
QuestionDetail questionDetail2 = defineQuestion("Title2" + System.currentTimeMillis(), QuestionType.NUMERIC);
QuestionDetail questionDetail1 = defineQuestion("Title1" + System.currentTimeMillis(), QuestionType.NUMERIC);
List<String> expectedTitles = asList(questionDetail1.getText(), questionDetail2.getText());
List<QuestionEntity> actualQuestions = questionDao.retrieveByState(QuestionState.ACTIVE.getValue());
assertThat(actualQuestions.size(), is(2));
assertThat(actualQuestions.get(0).getQuestionText(), is(expectedTitles.get(0)));
assertThat(actualQuestions.get(1).getQuestionText(), is(expectedTitles.get(1)));
}
use of org.mifos.platform.questionnaire.service.QuestionDetail in project head by mifos.
the class QuestionDaoIntegrationTest method testRetrieveByStateExcluding.
@Test
@Transactional
public void testRetrieveByStateExcluding() throws SystemException {
QuestionDetail questionDetail3 = defineQuestion("Title3" + System.currentTimeMillis(), QuestionType.NUMERIC);
QuestionDetail questionDetail2 = defineQuestion("Title2" + System.currentTimeMillis(), QuestionType.NUMERIC);
QuestionDetail questionDetail1 = defineQuestion("Title1" + System.currentTimeMillis(), QuestionType.NUMERIC);
List<String> expectedTitles = asList(questionDetail1.getText(), questionDetail2.getText());
List<QuestionEntity> actualQuestions = questionDao.retrieveByStateExcluding(asList(questionDetail3.getId()), QuestionState.ACTIVE.getValue());
assertThat(actualQuestions.size(), is(2));
assertThat(actualQuestions.get(0).getQuestionText(), is(expectedTitles.get(0)));
assertThat(actualQuestions.get(1).getQuestionText(), is(expectedTitles.get(1)));
}
Aggregations