mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-17 05:41:25 +02:00
Better test
This commit is contained in:
@@ -44,10 +44,12 @@ class PDFCredentialsSettingsSerializer(serializers.Serializer):
|
||||
|
||||
def validate(self, data):
|
||||
"""Check that directory exists."""
|
||||
enabled_pdfcredentials = data.get("enabled_pdfcredentials", False)
|
||||
enabled_pdfcredentials = data.get("enabled_pdfcredentials", None)
|
||||
condition = (enabled_pdfcredentials or
|
||||
param_tools.get_global_parameter("enabled_pdfcredentials")
|
||||
(enabled_pdfcredentials is None and
|
||||
param_tools.get_global_parameter("enabled_pdfcredentials")
|
||||
)
|
||||
)
|
||||
if condition:
|
||||
storage_dir = data.get("storage_dir", None)
|
||||
if storage_dir is not None:
|
||||
|
||||
@@ -170,12 +170,19 @@ class PDFCredentialViewTestCase(ModoAPITestCase):
|
||||
self.set_global_parameter("storage_dir", "/nonexistentdir")
|
||||
self.set_global_parameter("enabled_pdfcredentials", False)
|
||||
url = reverse("v2:parameter-detail", args=["pdfcredentials"])
|
||||
data = {
|
||||
"webpanel_url": "http://localhost",
|
||||
"smtp_server_address": "mail.localhost",
|
||||
"imap_server_address": "mail.localhost",
|
||||
}
|
||||
|
||||
# Test that we can't activate it without providing a valid storage dir.
|
||||
data = {"enabled_pdfcredentials": True}
|
||||
data["enabled_pdfcredentials"] = True
|
||||
resp = self.client.put(url, data, format="json")
|
||||
self.assertEqual(resp.status_code, 400)
|
||||
self.assertIn(b"Directory not found", resp.content)
|
||||
# Test that we can disable it even if the directory is not right.
|
||||
self.set_global_parameter("enabled_pdfcredentials", False)
|
||||
data = {"enabled_pdfcredentials": True}
|
||||
self.set_global_parameter("enabled_pdfcredentials", True)
|
||||
data["enabled_pdfcredentials"] = False
|
||||
resp = self.client.put(url, data, format="json")
|
||||
self.assertEqual(resp.status_code, 200)
|
||||
|
||||
Reference in New Issue
Block a user