def test_blank_lines_are_ignored(self): users = [""] * 10 users += ["Alpha,[email protected]"] users = '\n'.join(users) form = InviterForm({'users': users}) eq_(form.is_valid(), True) eq_(form.cleaned_data['users'], [('Alpha', '*****@*****.**')])
def test_multiple_line_submission_is_accepted(self): users = ["Alpha, [email protected]", "Beta, [email protected]"] users = '\n'.join(users) form = InviterForm({'users': users}) eq_(form.is_valid(), True) eq_(form.cleaned_data['users'], [ ('Alpha', '*****@*****.**'), ('Beta', '*****@*****.**'), ])
def test_user_validation_succeeds_with_valid_row(self): form = InviterForm() # Please note the whitespace at the begining of the email: user_row = ('alpha', ' [email protected]') result = form._validate_user(user_row) eq_(result, ('alpha', '*****@*****.**'))
def test_user_validation_fails_with_invalid_email(self): form = InviterForm() user_row = ('alpha', 'beta') form._validate_user(user_row)
def test_user_validation_fails_with_long_row(self): form = InviterForm() user_row = ('alpha', 'beta', 'gamma') form._validate_user(user_row)
def test_user_validation_fails_with_short_row(self): form = InviterForm() user_row = ('alpha',) form._validate_user(user_row)
def test_valid_submission_is_accepted(self): users = "Alpha, [email protected]" form = InviterForm({'users': users}) eq_(form.is_valid(), True) eq_(form.cleaned_data['users'], [('Alpha', '*****@*****.**')])
def test_form_with_invalid_email_fails(self): users = "Alpha, not an email." form = InviterForm({'users': users}) eq_(form.is_valid(), False) ok_('users' in form.errors)
def test_form_with_invalid_format_fails(self): users = "Alpha, [email protected], extra" form = InviterForm({'users': users}) eq_(form.is_valid(), False) ok_('users' in form.errors)