예제 #1
0
    def test_mismatch_email_is_invalid(self):

        form_data = flatten_to_dict(forms.ContactForm())
        form_data['first_name'] = 'Foo'
        form_data['last_name'] = 'Bar'
        form_data['email'] = '*****@*****.**'
        form_data['confirm_email'] = '*****@*****.**'

        bound_form = forms.ContactForm(data=form_data)
        self.assertFalse(bound_form.is_valid())
예제 #2
0
 def test_form_valid_with_valid_data(self):
     form = forms.ContactForm(
         {
             'name': 'Philip James',
         },
         book=self.book,
     )
     self.assertTrue(form.is_valid())
예제 #3
0
 def test_correct_tags_in_form(self):
     form = forms.ContactForm(
         {
             'name': 'Philip James',
         },
         book=self.book,
     )
     bad_tag = factories.TagFactory.create()
     correct_choices = [(self.tag.id, self.tag.tag)]
     self.assertEqual(form.fields['tags'].choices, correct_choices)
예제 #4
0
 def test_form_field_creation(self):
     form_data = {
         'document_email_1': '*****@*****.**',
         'document_email_1_label': 'Email',
         'document_email_1_pref': True,
         'name': 'Philip James',
     }
     form = forms.ContactForm(book=self.book,
                              tag_choices=self.tag_choices,
                              data=form_data)
     self.assertTrue('document_email_1' in form.fields)
     self.assertTrue('document_email_1_label' in form.fields)
     self.assertTrue('document_email_1_pref' in form.fields)
예제 #5
0
 def test_form_save_existing_field_duplicate_address_pref(self):
     form_data = {
         'name': 'Philip James',
         'document_address_new.1': '1600 Pennsylvania Ave.',
         'document_address_new.1_label': 'New address',
         'document_address_new.1_pref': '[on]',
         'document_address_new.2': '1600 Pennsylvania Ave.',
         'document_address_new.2_label': 'New address',
         'document_address_new.2_pref': '[on]',
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     self.assertFalse(form.is_valid())
     with self.assertRaises(ValueError):
         form.save()
예제 #6
0
 def test_form_save_existing_field_duplicate_email_pref(self):
     form_data = {
         'name': 'Philip James',
         'document_email_new.1': '*****@*****.**',
         'document_email_new.1_label': 'New email',
         'document_email_new.1_pref': '[on]',
         'document_email_new.2': '*****@*****.**',
         'document_email_new.2_label': 'New email',
         'document_email_new.2_pref': '[on]',
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     self.assertFalse(form.is_valid())
     with self.assertRaises(ValueError):
         form.save()
예제 #7
0
 def test_form_save_existing_field_email(self):
     field = factories.ContactFieldFactory(contact=self.contact)
     field.save()
     form_data = {
         'name': 'Philip James',
         'document_email_{}'.format(field.id):
         '*****@*****.**',
         'document_email_{}_label'.format(field.id): 'New email',
         'document_email_{}_pref'.format(field.id): '[on]',
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     self.assert_(form.is_valid())
     form.save()
     field = models.ContactField.objects.get(id=field.id)
     self.assertEqual(field.value, '*****@*****.**')
     self.assertEqual(field.label, 'New email')
예제 #8
0
 def test_form_save_existing_field_email(self):
     field = factories.ContactFieldFactory(
         contact=self.contact,
         kind=contact_constants.FIELD_TYPE_DATE,
         value='2015-01-01',
     )
     field.save()
     form_data = {
         'name': 'Philip James',
         'document_date_{}'.format(field.id): '2016-01-01',
         'document_date_{}_label'.format(field.id): 'New date',
         'document_date_{}_pref'.format(field.id): '[on]',
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     self.assert_(form.is_valid())
     form.save()
     field = models.ContactField.objects.get(id=field.id)
     self.assertEqual(field.value, '2016-01-01')
     self.assertEqual(field.label, 'New date')
예제 #9
0
 def test_form_deleted_fields(self):
     field1 = factories.ContactFieldFactory(
         contact=self.contact,
         kind=contact_constants.FIELD_TYPE_URL,
         value='http://www.logtacts.com',
     )
     field2 = factories.ContactFieldFactory(
         contact=self.contact,
         kind=contact_constants.FIELD_TYPE_URL,
         value='http://www.logtacts.com',
     )
     field3 = factories.ContactFieldFactory(
         contact=self.contact,
         kind=contact_constants.FIELD_TYPE_URL,
         value='http://www.logtacts.com',
     )
     form_data = {
         'name': 'Philip James',
         'deleted_fields': '{},{},{}'.format(field1.id, field2.id, 20)
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     form.is_valid()
     form.save()
     self.assertEquals(
         len(models.ContactField.objects.filter(contact=self.contact)),
         1,
     )
     self.assertEquals(
         models.ContactField.objects.get(contact=self.contact),
         field3,
     )
예제 #10
0
 def test_form_save_existing_field_url(self):
     field = factories.ContactFieldFactory(
         contact=self.contact,
         kind=contact_constants.FIELD_TYPE_URL,
         value='http://www.logtacts.com',
     )
     field.save()
     form_data = {
         'name': 'Philip James',
         'document_url_{}'.format(field.id): 'http://www.contactotter.com',
         'document_url_{}_label'.format(field.id): 'New URL',
         'document_url_{}_pref'.format(field.id): '[on]',
     }
     form = forms.ContactForm(
         book=self.book,
         data=form_data,
         tag_choices=self.tag_choices,
         instance=self.contact,
     )
     self.assert_(form.is_valid())
     form.save()
     field = models.ContactField.objects.get(id=field.id)
     self.assertEqual(field.value, 'http://www.contactotter.com')
     self.assertEqual(field.label, 'New URL')
예제 #11
0
 def test_form_invalid_with_invalid_data(self):
     form = forms.ContactForm(book=self.book, tag_choices=self.tag_choices)
     self.assertFalse(form.is_valid())
예제 #12
0
 def test_form_without_book(self):
     with self.assertRaises(KeyError):
         form = forms.ContactForm()