Пример #1
0
    def test_that_sections_are_reordered_after_save(self):
        section_form = SectionForm(instance=self.section3,
                                   data=self.form_data, initial={'questionnaire': self.questionnaire.id})
        section_form.save()
        self.assertEqual(1, self.section3.order)

        self.assertEqual(2, Section.objects.get(id=self.section1.id).order)
        self.assertEqual(3, Section.objects.get(id=self.section2.id).order)
Пример #2
0
    def test_valid_with_initial(self):
        initial = {'questionnaire': self.questionnaire.id, 'region': self.region, 'user': self.user}
        section_form = SectionForm(data=self.form_data, initial=initial)

        self.assertTrue(section_form.is_valid())
        section = section_form.save()
        self.assertEqual(section.region, self.region)
        self.assertTrue(section.is_core)
Пример #3
0
    def test_is_valid_when_user_is_regional_and_editing_none_core_section(self):
        questionnaire = QuestionnaireFactory()
        user = self.create_user(username='******', group=self.REGIONAL_ADMIN, org="WHO", region='AFR')
        section1 = SectionFactory(order=1, questionnaire=questionnaire, is_core=False, region=user.user_profile.region)
        initial = {'questionnaire': questionnaire.id, 'user': user}

        section_form = SectionForm(data=self.form_data, initial=initial, instance=section1)
        self.assertTrue(section_form.is_valid())
Пример #4
0
    def test_is_invalid_when_user_is_regional_and_editing_core_section(self):
        questionnaire = QuestionnaireFactory()
        user = self.create_user(username='******', group=self.REGIONAL_ADMIN, org="WHO", region='AFR')
        section1 = SectionFactory(order=1, questionnaire=questionnaire, is_core=True, region=user.user_profile.region)
        initial = {'questionnaire': questionnaire.id, 'user': user}

        section_form = SectionForm(data=self.form_data, initial=initial, instance=section1)
        self.assertFalse(section_form.is_valid())
        self.assertIn('You are not permitted to edit this section', section_form.errors['name'])
Пример #5
0
    def test_that_a_new_section_created_get_max_order_plus_one(self):
        questionnaire = QuestionnaireFactory()

        section1 = SectionFactory(order=1, questionnaire=questionnaire)
        section2 = SectionFactory(order=2, questionnaire=questionnaire)
        section3 = SectionFactory(order=3, questionnaire=questionnaire)
        section4 = SectionFactory(order=4, questionnaire=questionnaire)
        section5 = SectionFactory(order=1, title='Not in the same questionnaire')
        form_data = self.form_data
        form_data['order'] = 3
        form_data['questionnaire'] = questionnaire.id
        initial = {'questionnaire': questionnaire.id}

        section_form = SectionForm(data=form_data, initial=initial)

        saved_section = section_form.save()
        self.assertEqual(3, saved_section.order)

        self.assertEqual(1, Section.objects.get(id=section1.id).order)
        self.assertEqual(2, Section.objects.get(id=section2.id).order)

        self.assertEqual(4, Section.objects.get(id=section3.id).order)
        self.assertEqual(5, Section.objects.get(id=section4.id).order)
Пример #6
0
    def get(self, request, *args, **kwargs):
        questionnaire = Questionnaire.objects.get(
            id=self.kwargs['questionnaire_id'])
        section = Section.objects.get(id=self.kwargs['section_id'])
        initial = {
            'status': 'Draft',
            'country': self.request.user.user_profile.country
        }
        required_answers = 'show' in request.GET
        formsets = QuestionnaireEntryFormService(section,
                                                 initial=initial,
                                                 highlight=required_answers)

        printable = 'printable' in request.GET
        preview = 'preview' in request.GET

        context = {
            'questionnaire':
            questionnaire,
            'section':
            section,
            'printable':
            printable,
            'preview':
            preview,
            'formsets':
            formsets,
            'ordered_sections':
            questionnaire.sections.order_by('order'),
            'form':
            SectionForm(initial={'questionnaire': questionnaire}),
            'action':
            reverse('new_section_page', args=(questionnaire.id, )),
            'subsection_form':
            SubSectionForm(),
            'subsection_action':
            reverse('new_subsection_page', args=(questionnaire.id, section.id))
        }

        return self.render_to_response(context)
Пример #7
0
 def test_valid_with_initial(self):
     section_form = SectionForm(
         data=self.form_data,
         initial={'questionnaire': self.questionnaire.id})
     self.assertTrue(section_form.is_valid())
Пример #8
0
 def test_valid(self):
     section_form = SectionForm(
         initial={'questionnaire': self.questionnaire.id},
         data=self.form_data)
     self.assertTrue(section_form.is_valid())
Пример #9
0
 def test_valid_with_initial(self):
     section_form = SectionForm(data=self.form_data, initial={'questionnaire': self.questionnaire.id})
     self.assertTrue(section_form.is_valid())
Пример #10
0
 def test_valid(self):
     section_form = SectionForm(initial={'questionnaire': self.questionnaire.id}, data=self.form_data)
     self.assertTrue(section_form.is_valid())