feat(mail): define standard IMAP folder mappings
This commit is contained in:
@@ -2,10 +2,39 @@ from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
|
||||
from govoplan_core.mail.config import normalize_split_transport_credentials
|
||||
from govoplan_core.mail.config import ImapServerConfig, normalize_split_transport_credentials
|
||||
|
||||
|
||||
class MailConfigTests(unittest.TestCase):
|
||||
def test_legacy_sent_folder_populates_standard_mapping(self) -> None:
|
||||
config = ImapServerConfig.model_validate(
|
||||
{"host": "imap.example.test", "sent_folder": " Sent Items "}
|
||||
)
|
||||
|
||||
self.assertEqual("Sent Items", config.sent_folder)
|
||||
self.assertIsNotNone(config.folder_mappings)
|
||||
assert config.folder_mappings is not None
|
||||
self.assertEqual("Sent Items", config.folder_mappings.sent)
|
||||
|
||||
def test_standard_sent_mapping_remains_legacy_append_default(self) -> None:
|
||||
config = ImapServerConfig.model_validate(
|
||||
{
|
||||
"host": "imap.example.test",
|
||||
"sent_folder": "Old Sent",
|
||||
"folder_mappings": {
|
||||
"inbox": " INBOX ",
|
||||
"sent": "Sent Items",
|
||||
"junk": " ",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
self.assertEqual("Sent Items", config.sent_folder)
|
||||
assert config.folder_mappings is not None
|
||||
self.assertEqual("INBOX", config.folder_mappings.inbox)
|
||||
self.assertEqual("Sent Items", config.folder_mappings.sent)
|
||||
self.assertIsNone(config.folder_mappings.junk)
|
||||
|
||||
def test_normalize_split_transport_credentials_moves_legacy_auth_fields(self) -> None:
|
||||
payload = normalize_split_transport_credentials(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user