Files
fredagsbar-meeting-generator/tests/test_config_validation.py

39 lines
1.2 KiB
Python

import unittest
from validation import validate_config
class ConfigValidationTest(unittest.TestCase):
def test_optional_fields_must_be_strings(self) -> None:
config = {
"start_date": "2026-02-04",
"start_time": "15:00",
"repo_url": 123,
"organizer_email": ["not", "a", "string"],
"uid_namespace": {"bad": "type"},
"blocked_weeks": [],
"blocked_dates": [],
"skip_day_after_ascension": False,
}
with self.assertRaises(ValueError) as ctx:
validate_config(config)
message = str(ctx.exception)
self.assertIn("repo_url skal være en streng", message)
self.assertIn("organizer_email skal være en streng", message)
self.assertIn("uid_namespace skal være en streng", message)
def test_optional_fields_accept_none_or_missing(self) -> None:
config = {
"start_date": "2026-02-04",
"start_time": "15:00",
"blocked_weeks": [],
"blocked_dates": [],
"skip_day_after_ascension": False,
"repo_url": None,
}
validated = validate_config(config)
self.assertEqual(validated["start_date"], "2026-02-04")