Added unit tests

This commit is contained in:
Antoine Nguyen
2022-02-04 14:28:27 +01:00
parent d4b3366ff3
commit bf65a2b00a
2 changed files with 40 additions and 2 deletions
+4 -2
View File
@@ -356,12 +356,14 @@ class WritableAccountSerializer(v1_serializers.WritableAccountSerializer):
instance.set_password(password)
if mailbox_data:
creator = self.context["request"].user
if instance.mailbox:
if hasattr(instance, "mailbox"):
if "username" in validated_data:
mailbox_data["email"] = validated_data["username"]
instance.email = validated_data["username"]
instance.mailbox.update_from_dict(creator, mailbox_data)
else:
elif "username" in validated_data:
mailbox_data["full_address"] = validated_data["username"]
instance.email = validated_data["username"]
self._create_mailbox(creator, instance, mailbox_data)
instance.save()
self.set_permissions(instance, domains)
+36
View File
@@ -158,6 +158,38 @@ class AccountViewSetTestCase(ModoAPITestCase):
with self.assertRaises(core_models.User.DoesNotExist):
account.refresh_from_db()
def test_update(self):
account = core_models.User.objects.get(username="user@test.com")
url = reverse("v2:account-detail", args=[account.pk])
data = {
"username": "user@test.com",
"role": "SimpleUsers",
"password": "Toto12345",
"mailbox": {
"quota": 10
}
}
resp = self.client.patch(url, data, format="json")
self.assertEqual(resp.status_code, 200)
def test_update_admin(self):
account = core_models.User.objects.get(username="admin")
url = reverse("v2:account-detail", args=[account.pk])
data = {
"username": "superadmin@test.com",
"role": "SuperAdmins",
"password": "Toto12345",
"mailbox": {
"quota": 10
}
}
resp = self.client.patch(url, data, format="json")
self.assertEqual(resp.status_code, 200)
account.refresh_from_db()
self.assertEqual(account.email, data["username"])
self.assertEqual(account.mailbox.full_address, data["username"])
class IdentityViewSetTestCase(ModoAPITestCase):
@@ -235,6 +267,10 @@ class UserAccountViewSetTestCase(ModoAPITestCase):
2
)
resp = self.client.get(url)
self.assertEqual(resp.status_code, 200)
self.assertTrue(resp.json()["keepcopies"])
data = {"keepcopies": False}
resp = self.client.post(url, data, format="json")
self.assertEqual(resp.status_code, 200)