Skip to content

Commit

Permalink
user email duplication tests
Browse files Browse the repository at this point in the history
  • Loading branch information
esteban committed Apr 1, 2015
1 parent 8956eed commit c092548
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 3 deletions.
5 changes: 2 additions & 3 deletions spirit/views/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -197,13 +197,12 @@ def email_change_confirm(request, token):
form = EmailCheckForm(data={'email': email, })

if form.is_valid():
# TODO: test!
user.email = form.get_email()
user.save()
messages.info(request, _("Your email has been changed!"))
else:
messages.error(request, _("Sorry, we were not able to change your email."))
return redirect(reverse('spirit:profile-update'))

messages.error(request, _("Sorry, we were not able to change your email."))
return redirect(reverse('spirit:profile-update'))


Expand Down
24 changes: 24 additions & 0 deletions tests/tests_user.py
Original file line number Diff line number Diff line change
Expand Up @@ -521,6 +521,30 @@ def test_email_change_confirm_invalid(self):
self.assertRedirects(response, expected_url, status_code=302)
self.assertEqual(User.objects.get(pk=self.user.pk).email, new_email)

def test_email_change_duplicated(self):
"""
email should be unique
"""
utils.login(self)
utils.create_user(email="duplicated@bar.com")
new_email = "duplicated@bar.com"
old_email = self.user.email
token = UserEmailChangeTokenGenerator().generate(self.user, new_email)
self.client.get(reverse('spirit:email-change-confirm', kwargs={'token': token}))
self.assertEqual(User.objects.get(pk=self.user.pk).email, old_email)

@override_settings(ST_UNIQUE_EMAILS=False)
def test_email_change_duplicated_allowed(self):
"""
Duplicated email allowed
"""
utils.login(self)
utils.create_user(email="duplicated@bar.com")
new_email = "duplicated@bar.com"
token = UserEmailChangeTokenGenerator().generate(self.user, new_email)
self.client.get(reverse('spirit:email-change-confirm', kwargs={'token': token}))
self.assertEqual(User.objects.get(pk=self.user.pk).email, new_email)

def test_profile_email_change(self):
"""
email change
Expand Down

0 comments on commit c092548

Please sign in to comment.