mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Fixed issue when trying to empty user forward.
This commit is contained in:
@@ -725,10 +725,14 @@ class AliasSerializer(v1_serializers.AliasSerializer):
|
||||
class UserForwardSerializer(serializers.Serializer):
|
||||
"""Serializer to define user forward."""
|
||||
|
||||
recipients = serializers.CharField(required=False)
|
||||
recipients = serializers.CharField(
|
||||
required=False, allow_blank=True, allow_null=True
|
||||
)
|
||||
keepcopies = serializers.BooleanField(default=False)
|
||||
|
||||
def validate_recipients(self, value):
|
||||
if not value:
|
||||
return value
|
||||
value = value.strip()
|
||||
recipients = []
|
||||
if not value:
|
||||
|
||||
@@ -727,12 +727,24 @@ class UserAccountViewSetTestCase(ModoAPITestCase):
|
||||
url = reverse("v2:user_account-forward")
|
||||
resp = self.client.get(url)
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
self.assertNotIn("recipients", resp.json())
|
||||
self.assertIs(resp.json()["recipients"], None)
|
||||
self.assertEqual(
|
||||
models.Alias.objects.filter(
|
||||
internal=False, address=self.da.username
|
||||
).count(),
|
||||
0,
|
||||
)
|
||||
|
||||
data = {"recipients": "user@domain.ext"}
|
||||
resp = self.client.post(url, data, format="json")
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
self.assertEqual(self.da.mailbox.aliasrecipient_set.count(), 1)
|
||||
self.assertEqual(
|
||||
models.Alias.objects.filter(
|
||||
internal=False, address=self.da.username
|
||||
).count(),
|
||||
1,
|
||||
)
|
||||
|
||||
data = {"recipients": "user@domain.ext", "keepcopies": True}
|
||||
resp = self.client.post(url, data, format="json")
|
||||
@@ -753,6 +765,16 @@ class UserAccountViewSetTestCase(ModoAPITestCase):
|
||||
models.Alias.objects.filter(address=self.da.username).count(), 1
|
||||
)
|
||||
|
||||
data = {"recipients": "", "keepcopies": False}
|
||||
resp = self.client.post(url, data, format="json")
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
self.assertEqual(
|
||||
models.Alias.objects.filter(
|
||||
internal=False, address=self.da.username
|
||||
).count(),
|
||||
0,
|
||||
)
|
||||
|
||||
|
||||
class AlarmViewSetTestCase(ModoAPITestCase):
|
||||
@classmethod
|
||||
|
||||
Reference in New Issue
Block a user