示例#1
0
 def test_clean_year(self):
     questionnaire = Questionnaire.objects.create(name="JRF 2013 Core English", status=Questionnaire.FINALIZED, year=date.today().year + 1)
     form_data = self.form_data.copy()
     form_data['year'] = questionnaire.year
     questionnaire_filter = QuestionnaireFilterForm(form_data)
     self.assertFalse(questionnaire_filter.is_valid())
     message = "Select a valid choice. %d is not one of the available choices." % questionnaire.year
     self.assertIn(message, questionnaire_filter.errors['year'])
示例#2
0
 def test_valid_with_published_questionnaire(self):
     questionnaire = Questionnaire.objects.create(name="JRF 2013 Core English", status=Questionnaire.PUBLISHED, year=2013)
     form_data = {
         'questionnaire': questionnaire.id,
         'year': date.today().year + 1,
         'name': 'New JRF'
     }
     questionnaire_filter = QuestionnaireFilterForm(form_data)
     self.assertTrue(questionnaire_filter.is_valid())
示例#3
0
 def post(self, *args, **kwargs):
     form = QuestionnaireFilterForm(self.request.POST)
     if form.is_valid():
         duplicate, _ = QuestionnaireClonerService(form.cleaned_data['questionnaire']).clone()
         duplicate.name = form.cleaned_data['name']
         duplicate.year = form.cleaned_data['year']
         duplicate.save()
         message = "The questionnaire has been duplicated successfully, You can now go ahead and edit it"
         messages.success(self.request, message)
         redirect_url = reverse('questionnaire_entry_page', args=(duplicate.id, duplicate.sections.all()[0].id))
         return HttpResponseRedirect(redirect_url)
     message = "Questionnaire could not be duplicated see errors below"
     messages.error(self.request, message)
     return HttpResponseRedirect(reverse('manage_jrf_page'))
示例#4
0
    def test_clean_year(self):
        questionnaire = Questionnaire.objects.create(name="JRF 2013 Core English", status=Questionnaire.PUBLISHED,
                                                     year=date.today().year + 1)
        child_questionnaire = Questionnaire.objects.create(name="JRF 2013 Core English", status=Questionnaire.PUBLISHED,
                                                           year=date.today().year + 1,
                                                           parent=questionnaire,
                                                           region=RegionFactory(name='AFR'))
        NumericalAnswerFactory(questionnaire=child_questionnaire)

        form_data = self.form_data.copy()
        form_data['year'] = child_questionnaire.year
        questionnaire_filter = QuestionnaireFilterForm(form_data)
        valid = questionnaire_filter.is_valid()
        self.assertFalse(valid)
        message = "Select a valid choice. %d is not one of the available choices." % questionnaire.year
        self.assertIn(message, questionnaire_filter.errors['year'])
示例#5
0
 def test_valid_when_name_is_blank(self):
     form_data = self.form_data.copy()
     form_data['name'] = ''
     questionnaire_filter = QuestionnaireFilterForm(form_data)
     self.assertFalse(questionnaire_filter.is_valid())
     self.assertIn("This field is required.", questionnaire_filter.errors['name'])
示例#6
0
 def test_valid(self):
     questionnaire_filter = QuestionnaireFilterForm(self.form_data)
     self.assertTrue(questionnaire_filter.is_valid())