mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Added unit tests
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user