Esempio n. 1
0
    def test_set_standard_field_with_single_lang(self):
        form_mixin = AttributeFormMixin()
        form_mixin.project = self.project
        form_mixin.fields = {
            'building':
            ChoiceField(choices=(('barn', 'Barn'), ('house', 'House')))
        }
        questionnaire = q_factories.QuestionnaireFactory(project=self.project)
        question = q_factories.QuestionFactory.create(
            type='S1',
            name='building',
            questionnaire=questionnaire,
            label='Name')
        q_factories.QuestionOptionFactory(question=question,
                                          name='barn',
                                          label='Barn',
                                          index=0)
        q_factories.QuestionOptionFactory(question=question,
                                          name='house',
                                          label='House',
                                          index=1)
        form_mixin.set_standard_field('building',
                                      empty_choice='Select house type')

        widget = form_mixin.fields['building'].widget
        assert isinstance(widget, XLangSelect) is True
        assert widget.choices == [('', 'Select house type'), ('barn', 'Barn'),
                                  ('house', 'House')]
        assert widget.xlang_labels == {}
Esempio n. 2
0
 def test_init_with_form(self):
     project = ProjectFactory.create()
     questionnaire = q_factories.QuestionnaireFactory(project=project)
     q_factories.QuestionFactory.create(
         name='tenure_type',
         questionnaire=questionnaire,
         label={'en': 'Type', 'de': 'Typ'})
     form = forms.TenureRelationshipEditForm(project)
     assert hasattr(form.fields['tenure_type'], 'labels_xlang') is True
Esempio n. 3
0
 def test_init_with_questionnaire(self):
     project = ProjectFactory.create()
     questionnaire = q_factories.QuestionnaireFactory(project=project)
     q_factories.QuestionFactory.create(
         name='party_type',
         questionnaire=questionnaire,
         label={'en': 'Type', 'de': 'Typ'})
     q_factories.QuestionFactory.create(
         name='party_name',
         questionnaire=questionnaire,
         label={'en': 'Name', 'de': 'Name'})
     form = forms.PartyForm(project)
     assert hasattr(form.fields['name'], 'labels_xlang') is True
     assert hasattr(form.fields['type'], 'labels_xlang') is True
Esempio n. 4
0
    def test_set_standard_field_no_question(self):
        form_mixin = AttributeFormMixin()
        form_mixin.project = self.project
        form_mixin.fields = {'name': CharField()}
        questionnaire = q_factories.QuestionnaireFactory(project=self.project)
        q_factories.QuestionFactory.create(name='party_name',
                                           questionnaire=questionnaire,
                                           label={
                                               'en': 'Name',
                                               'de': 'Name'
                                           })
        form_mixin.set_standard_field('name', )

        assert hasattr(form_mixin.fields['name'], 'labels_xlang') is False
Esempio n. 5
0
    def test_set_standard_field_set_field_name(self):
        form_mixin = AttributeFormMixin()
        form_mixin.project = self.project
        form_mixin.fields = {'name': CharField()}
        questionnaire = q_factories.QuestionnaireFactory(project=self.project)
        q_factories.QuestionFactory.create(name='party_name',
                                           questionnaire=questionnaire,
                                           label={
                                               'en': 'Name',
                                               'de': 'Name'
                                           })
        form_mixin.set_standard_field('party_name', field_name='name')

        assert 'en="Name"' in form_mixin.fields['name'].labels_xlang
        assert 'de="Name"' in form_mixin.fields['name'].labels_xlang
Esempio n. 6
0
    def test_set_standard_field_with_options(self):
        form_mixin = AttributeFormMixin()
        form_mixin.project = self.project
        form_mixin.fields = {
            'building':
            ChoiceField(choices=(('barn', 'Barn'), ('house', 'House')))
        }
        questionnaire = q_factories.QuestionnaireFactory(project=self.project,
                                                         default_language='de')
        question = q_factories.QuestionFactory.create(
            type='S1',
            name='building',
            questionnaire=questionnaire,
            label={
                'en': 'Name',
                'de': 'Name'
            })
        q_factories.QuestionOptionFactory(question=question,
                                          name='barn',
                                          label={
                                              'de': 'Scheune',
                                              'en': 'Barn'
                                          },
                                          index=0)
        q_factories.QuestionOptionFactory(question=question,
                                          name='house',
                                          label={
                                              'de': 'Haus',
                                              'en': 'Haus'
                                          },
                                          index=1)
        form_mixin.set_standard_field('building')

        widget = form_mixin.fields['building'].widget
        assert isinstance(widget, XLangSelect) is True
        assert widget.choices == [('barn', 'Scheune'), ('house', 'Haus')]
        assert widget.xlang_labels == {
            'barn': {
                'de': 'Scheune',
                'en': 'Barn'
            },
            'house': {
                'de': 'Haus',
                'en': 'Haus'
            }
        }