mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-08-29 05:57:32 +00:00
Fixhancement: make imap port required, better error display (#13845)
This commit is contained in:
+1
@@ -94,6 +94,7 @@ export class MailAccountEditDialogComponent extends EditDialogComponent<MailAcco
|
||||
this.testActive = false
|
||||
this.testResult.set('danger')
|
||||
this.alertTimeout = setTimeout(() => this.testResultAlert.close(), 5000)
|
||||
this.error = e.error
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ class ObfuscatedPasswordField(serializers.CharField):
|
||||
|
||||
class MailAccountSerializer(OwnedObjectSerializer):
|
||||
password = ObfuscatedPasswordField()
|
||||
imap_port = serializers.IntegerField(required=True, allow_null=False)
|
||||
|
||||
class Meta:
|
||||
model = MailAccount
|
||||
|
||||
@@ -108,6 +108,27 @@ class TestAPIMailAccounts(DirectoriesMixin, APITestCase):
|
||||
self.assertEqual(returned_account1.imap_security, account1["imap_security"])
|
||||
self.assertEqual(returned_account1.character_set, account1["character_set"])
|
||||
|
||||
def test_create_mail_account_requires_imap_port(self) -> None:
|
||||
account = {
|
||||
"name": "Email1",
|
||||
"username": "username1",
|
||||
"password": "password1",
|
||||
"imap_server": "server.example.com",
|
||||
"imap_security": MailAccount.ImapSecurity.SSL,
|
||||
"character_set": "UTF-8",
|
||||
}
|
||||
|
||||
for imap_port in (None, "missing"):
|
||||
with self.subTest(imap_port=imap_port):
|
||||
data = account.copy()
|
||||
if imap_port is None:
|
||||
data["imap_port"] = None
|
||||
|
||||
response = self.client.post(self.ENDPOINT, data=data, format="json")
|
||||
|
||||
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
|
||||
self.assertIn("imap_port", response.data)
|
||||
|
||||
def test_delete_mail_account(self) -> None:
|
||||
"""
|
||||
GIVEN:
|
||||
|
||||
Reference in New Issue
Block a user