Added unit tests.

This commit is contained in:
Antoine Nguyen
2020-04-21 11:56:18 +02:00
parent cb0197c609
commit 64ba1990f7
4 changed files with 45 additions and 3 deletions
+1 -1
View File
@@ -74,7 +74,7 @@ class AccountTestCase(ModoTestCase):
values.update({
"username": "pouet@test.com", "language": "en",
"secondary_email": "homer@simpson.com",
"phone_number": "123456789"
"phone_number": "+33612345678"
})
self.ajax_post(
reverse("admin:account_change", args=[account.id]), values
+32
View File
@@ -563,6 +563,38 @@ class AccountAPITestCase(ModoAPITestCase):
account.refresh_from_db()
self.assertTrue(account.check_password("Toto1234"))
@mock.patch("ovh.Client.get")
@mock.patch("ovh.Client.post")
def test_reset_password(self, client_post, client_get):
url = reverse("api:account-reset-password")
# SMS password recovery not enabled
response = self.client.post(url)
self.assertEqual(response.status_code, 404)
self.set_global_parameters({
"sms_password_recovery": True,
"sms_provider": "ovh",
"sms_ovh_application_key": "key",
"sms_ovh_application_secret": "secret",
"sms_ovh_consumer_key": "consumer"
}, app="core")
# No email provided
response = self.client.post(url)
self.assertEqual(response.status_code, 400)
account = core_models.User.objects.get(username="user@test.com")
data = {"email": account.email}
# No phone number
response = self.client.post(url, data, format="json")
self.assertEqual(response.status_code, 404)
account.phone_number = "+33612345678"
account.save()
response = self.client.post(url, data, format="json")
client_get.return_value = ["service"]
client_post.return_value = {"totalCreditsRemoved": 1}
self.assertEqual(response.status_code, 200)
class AliasAPITestCase(ModoAPITestCase):
"""Check Alias API."""
+11 -1
View File
@@ -221,9 +221,10 @@ class PasswordResetTestCase(ModoTestCase):
"We've emailed you instructions for setting your password")
self.assertEqual(len(mail.outbox), 0)
@mock.patch("oath.accept_totp")
@mock.patch("ovh.Client.get")
@mock.patch("ovh.Client.post")
def test_reset_password_sms(self, client_post, client_get):
def test_reset_password_sms(self, client_post, client_get, accept_totp):
"""Test reset password by SMS."""
client_get.return_value = ["service"]
client_post.return_value = {"totalCreditsRemoved": 1}
@@ -241,6 +242,15 @@ class PasswordResetTestCase(ModoTestCase):
self.assertEqual(response.status_code, 302)
self.assertEqual(response.url, reverse("password_reset_confirm_code"))
data = {"code": "123456"}
url = reverse("password_reset_confirm_code")
accept_totp.return_value = (False, "")
response = self.client.post(url, data)
self.assertEqual(response.status_code, 200)
accept_totp.return_value = (True, "")
response = self.client.post(url, data)
self.assertEqual(response.status_code, 302)
@skipIf(NO_SMTP, "No SMTP server available")
@override_settings(AUTHENTICATION_BACKENDS=(
+1 -1
View File
@@ -112,7 +112,7 @@ class ProfileTestCase(ModoTestCase):
"""Update profile without password."""
data = {
"first_name": "Homer", "last_name": "Simpson",
"phone_number": "123445", "language": "en"
"phone_number": "+33612345678", "language": "en"
}
self.ajax_post(reverse("core:user_profile"), data)
admin = models.User.objects.get(username="admin")