示例#1
0
class CommaSeparatedEmailFieldTests(TestCase):
    def setUp(self):
        self.field = CommaSeparatedEmailField(blank=True)

    def test_validate(self):
        """
        Validate should run the email validator on all non-empty emails
        in the list.
        """
        with patch('news.fields.validate_email') as validate_email:
            self.field.validate('  [email protected]   ,[email protected]   ',
                                None)
            validate_email.assert_has_calls([
                call('*****@*****.**'),
                call('*****@*****.**'),
            ])

            validate_email.reset_mock()
            self.field.validate('*****@*****.**', None)
            validate_email.assert_has_calls([
                call('*****@*****.**'),
            ])

            validate_email.reset_mock()
            self.field.validate('', None)
            self.assertFalse(validate_email.called)

    def test_pre_save(self):
        """pre_save should remove unnecessary whitespace and commas."""
        instance = Mock()
        self.field.attname = 'blah'

        # Basic
        instance.blah = '[email protected],[email protected]'
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')

        # Excess whitespace
        instance.blah = '   [email protected] ,[email protected]    '
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')

        # Extra commas
        instance.blah = '[email protected]  ,,,, [email protected] '
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')
示例#2
0
class CommaSeparatedEmailFieldTests(TestCase):
    def setUp(self):
        self.field = CommaSeparatedEmailField(blank=True)

    def test_validate(self):
        """
        Validate should run the email validator on all non-empty emails
        in the list.
        """
        with patch('news.fields.validate_email') as validate_email:
            self.field.validate('  [email protected]   ,[email protected]   ', None)
            validate_email.assert_has_calls([
                call('*****@*****.**'),
                call('*****@*****.**'),
            ])

            validate_email.reset_mock()
            self.field.validate('*****@*****.**', None)
            validate_email.assert_has_calls([
                call('*****@*****.**'),
            ])

            validate_email.reset_mock()
            self.field.validate('', None)
            self.assertFalse(validate_email.called)

    def test_pre_save(self):
        """pre_save should remove unnecessary whitespace and commas."""
        instance = Mock()
        self.field.attname = 'blah'

        # Basic
        instance.blah = '[email protected],[email protected]'
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')

        # Excess whitespace
        instance.blah = '   [email protected] ,[email protected]    '
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')

        # Extra commas
        instance.blah = '[email protected]  ,,,, [email protected] '
        self.assertEqual(self.field.pre_save(instance, False),
                         '[email protected],[email protected]')
示例#3
0
 def setUp(self):
     self.field = CommaSeparatedEmailField(blank=True)
示例#4
0
 def setUp(self):
     self.field = CommaSeparatedEmailField(blank=True)