mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Merge pull request #1161 from modoboa/fix/api_account_update_no_mailbox
[admin] fixed account update API endpoint.
This commit is contained in:
@@ -293,7 +293,7 @@ class WritableAccountSerializer(AccountSerializer):
|
||||
|
||||
def update(self, instance, validated_data):
|
||||
"""Update account and associated objects."""
|
||||
mailbox_data = validated_data.pop("mailbox")
|
||||
mailbox_data = validated_data.pop("mailbox", None)
|
||||
password = validated_data.pop("password", None)
|
||||
domains = validated_data.pop("domains", [])
|
||||
for key, value in validated_data.items():
|
||||
|
||||
@@ -11,6 +11,7 @@ from django.core.urlresolvers import reverse
|
||||
from rest_framework.authtoken.models import Token
|
||||
|
||||
from modoboa.admin import models as admin_models
|
||||
from modoboa.core import factories as core_factories
|
||||
from modoboa.core import models as core_models
|
||||
from modoboa.lib.tests import ModoAPITestCase
|
||||
|
||||
@@ -358,6 +359,19 @@ class AccountAPITestCase(ModoAPITestCase):
|
||||
account.refresh_from_db()
|
||||
self.assertTrue(account.check_password("Toto1234"))
|
||||
|
||||
def test_update_account_with_no_mailbox(self):
|
||||
"""Try to disable an account."""
|
||||
account = core_factories.UserFactory(
|
||||
username="reseller", groups=("Resellers", ))
|
||||
url = reverse("api:account-detail", args=[account.pk])
|
||||
data = {
|
||||
"username": "reseller",
|
||||
"role": account.role,
|
||||
"is_active": False
|
||||
}
|
||||
response = self.client.put(url, data, format="json")
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
def test_patch_account(self):
|
||||
"""Try to patch an account."""
|
||||
account = core_models.User.objects.get(username="user@test.com")
|
||||
|
||||
Reference in New Issue
Block a user