def test_subject_field(self): """ Subject field is optional. """ del self.form_data['subject'] form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) self.assertNotIn('subject', form.errors)
def test_category_field(self): u""" Message field is required. """ del self.form_data['category'] form = ContactForm(self.form_data, email_template='envelope/email_body.txt') self.assertFalse(form.is_valid()) self.assertIn('category', form.errors)
def test_get_category_display(self): u""" A non-integer field value selects a category labeled "Other". """ self.form_data["category"] = "not-an-integer" form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertEqual(form.get_category_display(), _("Other"))
def test_get_category_display(self): u""" A non-integer field value selects a category labeled "Other". """ self.form_data['category'] = 'not-an-integer' form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertEqual(form.get_category_display(), _("Other"))
def _test_required_field(self, field_name): """ Check that the form does not validate without a given field. """ del self.form_data[field_name] form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertIn(field_name, form.errors)
def test_get_category_display(self): u""" A non-integer field value selects a category labeled "Other". """ self.form_data['category'] = 'not-an-integer' form = ContactForm(self.form_data, email_template='envelope/email_body.txt') self.assertFalse(form.is_valid()) self.assertEqual(form.get_category_display(), _("Other"))
def test_category_field(self): u""" Message field is required. """ del self.form_data['category'] form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertIn('category', form.errors)
def test_get_context(self): u""" get_context() is overridden and adds a 'category' variable. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) context = form.get_context() self.assertIn('category', context)
def test_category_field(self): """ Message field is required. """ del self.form_data['category'] form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertTrue('category' in form.errors)
def test_category_field(self): u""" Message field is required. """ del self.form_data["category"] form = ContactForm(self.form_data) self.assertFalse(form.is_valid()) self.assertIn("category", form.errors)
def test_get_context(self): u""" get_context() is overridden and adds a 'category' variable. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) context = form.get_context() self.assertIn("category", context)
def test_get_context(self): u""" get_context() is overridden and adds a 'category' variable. """ form = ContactForm(self.form_data, email_template='envelope/email_body.txt') self.assertTrue(form.is_valid()) context = form.get_context() self.assertIn('category', context)
def test_get_context(self): """ get_context() returns a copy of form's cleaned_data. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) context = form.get_context() self.assertEqual(context, form.cleaned_data) self.assertIsNot(context, form.cleaned_data)
def test_html_message_alternative_part(self): """ A HTML message is attached by default. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMultiAlternatives') as mock_message: form.save() self.assertTrue(mock_message.return_value.attach_alternative.called)
def test_save_smtp_error(self): """ If the email backend raised an error, the message is not sent. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMessage') as mock_message: mock_message.return_value.send.side_effect = SMTPException result = form.save() self.assertFalse(result)
def test_html_message_alternative_part(self): """ A HTML message is attached by default. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMultiAlternatives') as mock_message: form.save() self.assertTrue( mock_message.return_value.attach_alternative.called)
def test_save_smtp_error(self): """ If the email backend raised an error, the message is not sent. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMultiAlternatives') as mock_message: mock_message.return_value.send.side_effect = SMTPException result = form.save() self.assertFalse(result)
def test_save(self): """ A call to save() on a valid form sends the message. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMultiAlternatives') as mock_message: mock_message.return_value.send.return_value = True result = form.save() self.assertTrue(result) args, kwargs = mock_message.call_args self.assertIn(self.form_data['subject'], kwargs['subject'])
def test_save(self): """ A call to save() on a valid form sends the message. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid()) with patch('django.core.mail.EmailMessage') as mock_message: mock_message.return_value.send.return_value = True result = form.save() self.assertTrue(result) args, kwargs = mock_message.call_args self.assertIn(self.form_data['subject'], kwargs['subject'])
def test_init_attr_override(self): """ Attributes can be overridden on __init__() """ overrides = { 'subject_intro': 'New subject style: ', 'from_email': '*****@*****.**', 'email_recipients': ['*****@*****.**'], } form = ContactForm(self.form_data, **overrides) form.is_valid() with patch('django.core.mail.EmailMessage') as mock_message: mock_message.return_value.send.return_value = True form.save() args, kwargs = mock_message.call_args self.assertIn(overrides['subject_intro'], kwargs['subject']) self.assertIn(overrides['from_email'], kwargs['from_email']) self.assertIn(overrides['email_recipients'][0], kwargs['to'])
def test_init_attr_override(self): """ Attributes can be overridden on __init__() """ overrides = { 'subject_intro': 'New subject style: ', 'from_email': '*****@*****.**', 'email_recipients': ['*****@*****.**'], } form = ContactForm(self.form_data, **overrides) form.is_valid() with patch('django.core.mail.EmailMultiAlternatives') as mock_message: mock_message.return_value.send.return_value = True form.save() args, kwargs = mock_message.call_args self.assertIn(overrides['subject_intro'], kwargs['subject']) self.assertIn(overrides['from_email'], kwargs['from_email']) self.assertIn(overrides['email_recipients'][0], kwargs['to'])
def test_all_fields_valid(self): """ When all required fields are supplied, the form is valid. """ form = ContactForm(self.form_data) self.assertTrue(form.is_valid())