Ejemplo n.º 1
0
    def setUp(self):
        action_registry.register(TestAction(), 'Some action')
        action_registry.register(TestOldAction(), 'Some old action')
        action_registry.register(TestAction2(), 'Some action2')

        self.fm = FormModel.objects.create(
            name='Form',
            submit_url='/form/',
            success_url='/done/',
            actions=[
                'tests.test_views.TestAction', 'tests.test_views.TestOldAction'
            ],
            form_template='dynamic_forms/form.html',
            success_template='dynamic_forms/form_success.html')
        self.field1 = FormFieldModel.objects.create(
            parent_form=self.fm,
            field_type='dynamic_forms.formfields.SingleLineTextField',
            label='String Field',
            position=1)
        self.field2 = FormFieldModel.objects.create(
            parent_form=self.fm,
            field_type='dynamic_forms.formfields.BooleanField',
            label='Field for Boolean',
            position=2)
        self.field3 = FormFieldModel.objects.create(
            parent_form=self.fm,
            field_type='dynamic_forms.formfields.DateTimeField',
            label='Date and time',
            position=3)
        self.form = FormModelForm(model=self.fm)
Ejemplo n.º 2
0
 def test_get_mapped_data_no_display(self):
     try:
         key = 'tests.test_forms.CharField'
         registry.register(CharField)
         fm = FormModel.objects.create(name='Form', submit_url='/form/')
         FormFieldModel.objects.create(
             parent_form=fm,
             label='Label 1',
             field_type='dynamic_forms.formfields.SingleLineTextField',
             position=1)
         FormFieldModel.objects.create(parent_form=fm,
                                       label='Label 2',
                                       field_type=key,
                                       position=2)
         data = {
             'label-1': 'Value 1',
             'label-2': 'NOT SHOWN!',
         }
         form = FormModelForm(model=fm, data=data)
         self.assertTrue(form.is_valid())
         self.assertEqual(form.get_mapped_data(),
                          OrderedDict([
                              (
                                  'Label 1',
                                  'Value 1',
                              ),
                          ]))
     finally:
         registry.unregister(key)
Ejemplo n.º 3
0
 def test_generate_form_with_data(self):
     fm = FormModel.objects.create(name='With data', submit_url='/form/')
     data = {'afield': 'a value', 'anotherfield': 'another value'}
     form = FormModelForm(model=fm, data=data)
     self.assertEqual(form.data, {
         'afield': 'a value',
         'anotherfield': 'another value'
     })
Ejemplo n.º 4
0
 def test_get_mapped_data(self):
     fm = FormModel.objects.create(name='Form', submit_url='/form/')
     FormFieldModel.objects.create(
         parent_form=fm,
         label='Label 1',
         field_type='dynamic_forms.formfields.SingleLineTextField',
         position=3,
         _options='{"required": false}')
     FormFieldModel.objects.create(
         parent_form=fm,
         label='Label 2',
         field_type='dynamic_forms.formfields.SingleLineTextField',
         position=1,
         _options='{"required": false}')
     FormFieldModel.objects.create(
         parent_form=fm,
         label='Label 3',
         field_type='dynamic_forms.formfields.SingleLineTextField',
         position=2,
         _options='{"required": false}')
     data = {
         'label-1': 'Value 1',
         'label-2': 'Value 2',
     }
     form = FormModelForm(model=fm, data=data)
     self.assertTrue(form.is_valid())
     self.assertEqual(
         form.get_mapped_data(),
         OrderedDict([
             (
                 'Label 2',
                 'Value 2',
             ),
             (
                 'Label 3',
                 '',
             ),
             (
                 'Label 1',
                 'Value 1',
             ),
         ]))
     self.assertEqual(
         form.get_mapped_data(exclude_missing=True),
         OrderedDict([
             (
                 'Label 2',
                 'Value 2',
             ),
             (
                 'Label 1',
                 'Value 1',
             ),
         ]))
Ejemplo n.º 5
0
    def test_send_email_to_configured_address(self):
        form_model = FormModel.objects.create(
            name='Form 1',
            submit_url='/form_1/',
            success_url='/form_1/done/',
            recipient_email='*****@*****.**')
        FormFieldModel.objects.create(
            parent_form=form_model,
            label='Str',
            field_type='dynamic_forms.formfields.SingleLineTextField',
            position=1)
        FormFieldModel.objects.create(
            parent_form=form_model,
            label='DT',
            field_type='dynamic_forms.formfields.DateTimeField',
            position=2)
        form = FormModelForm(model=form_model,
                             data={
                                 'str':
                                 'Some string to store',
                                 'dt':
                                 datetime.datetime(2013, 8, 29, 12, 34, 56,
                                                   789000),
                             })

        self.assertTrue(form.is_valid())
        self.assertEqual(mail.outbox, [])
        dynamic_form_send_email(form_model, form)
        message = mail.outbox[0]
        self.assertEqual(message.subject, 'Form “Form 1” submitted')
        self.assertEqual(
            message.body, '''Hello,

you receive this e-mail because someone submitted the form “Form 1”.

DT: Aug. 29, 2013, 12:34 p.m.
Str: Some string to store
''')
        self.assertEqual(message.recipients(), ['*****@*****.**'])
        self.assertEqual(message.from_email, 'webmaster@localhost')
Ejemplo n.º 6
0
 def setUp(self):
     self.form_model = FormModel.objects.create(name='Form',
                                                submit_url='/form/',
                                                success_url='/form/done/')
     FormFieldModel.objects.create(
         parent_form=self.form_model,
         label='Str',
         field_type='dynamic_forms.formfields.SingleLineTextField',
         position=1)
     FormFieldModel.objects.create(
         parent_form=self.form_model,
         label='DT',
         field_type='dynamic_forms.formfields.DateTimeField',
         position=2)
     self.form = FormModelForm(model=self.form_model,
                               data={
                                   'str':
                                   'Some string to store',
                                   'dt':
                                   datetime.datetime(
                                       2013, 8, 29, 12, 34, 56, 789000)
                               })
Ejemplo n.º 7
0
 def test_generate_form_wo_data(self):
     fm = FormModel.objects.create(name='No data', submit_url='/form/')
     form = FormModelForm(model=fm)
     self.assertEqual(form.data, {})