def test_other_answer_methods(self): interviews = self._prep_answers() m_answer = MultiChoiceAnswer.objects.last() self.assertEqual(m_answer.pretty_print(as_label=False), m_answer.value.text) self.assertEqual(m_answer.pretty_print(as_label=True), m_answer.value.order) multiselect_question = Question.objects.filter( answer_type=MultiSelectAnswer.choice_name()).last() MultiSelectAnswer.create(self.interview, multiselect_question, 'Y N') self.assertEqual(MultiSelectAnswer.objects.count(), 1) multiselect = MultiSelectAnswer.objects.last() self.assertEqual(multiselect.to_text(), ' and '.join(['Y', 'N'])) self.assertEqual(multiselect.to_label(), ' and '.join(['1', '2'])) self.assertEqual(multiselect.pretty_print(as_label=False), multiselect.to_text()) self.assertEqual(multiselect.pretty_print(as_label=True), multiselect.to_label())
def test_update_multiselect_answer(self): qset = self.qset self._create_test_non_group_questions(qset) multiselect_question = Question.objects.filter(answer_type=MultiSelectAnswer.choice_name()).first() options = multiselect_question.options.all() raw_answer = ' '.join([options.first().text, options.last().text]) MultiSelectAnswer.create(self.interview, multiselect_question, raw_answer) self.assertEquals(MultiSelectAnswer.objects.count(), 1) multichoice_answer = MultiSelectAnswer.objects.first() self.assertEquals(multichoice_answer.as_text, raw_answer) self.assertEquals(multichoice_answer.as_value, raw_answer) # not save all options as queryset MultiSelectAnswer.create(self.interview, multiselect_question, multiselect_question.options.all()) self.assertEquals(MultiSelectAnswer.objects.count(), 2) multichoice_answer = MultiSelectAnswer.objects.last() self.assertEquals(multichoice_answer.as_text, ' '.join(multiselect_question.options.values_list('text', flat=True))) self.assertEquals(multichoice_answer.as_value, ' '.join(multiselect_question.options.values_list('text', flat=True)))
def test_update_multiselect_answer(self): qset = self.qset self._create_test_non_group_questions(qset) multiselect_question = Question.objects.filter( answer_type=MultiSelectAnswer.choice_name()).first() options = multiselect_question.options.all() raw_answer = ' '.join([options.first().text, options.last().text]) MultiSelectAnswer.create(self.interview, multiselect_question, raw_answer) self.assertEquals(MultiSelectAnswer.objects.count(), 1) multichoice_answer = MultiSelectAnswer.objects.first() self.assertEquals(multichoice_answer.as_text, raw_answer) self.assertEquals(multichoice_answer.as_value, raw_answer) # not save all options as queryset MultiSelectAnswer.create(self.interview, multiselect_question, multiselect_question.options.all()) self.assertEquals(MultiSelectAnswer.objects.count(), 2) multichoice_answer = MultiSelectAnswer.objects.last() self.assertEquals( multichoice_answer.as_text, ' '.join( multiselect_question.options.values_list('text', flat=True))) self.assertEquals( multichoice_answer.as_value, ' '.join( multiselect_question.options.values_list('text', flat=True)))