import pytest from ahriman.core.exceptions import InvalidOption from ahriman.models.report_settings import ReportSettings def test_from_option_invalid() -> None: """ must raise exception on invalid option """ with pytest.raises(InvalidOption, match=".* `invalid`$"): ReportSettings.from_option("invalid") def test_from_option_valid() -> None: """ must return value from valid options """ assert ReportSettings.from_option("html") == ReportSettings.HTML assert ReportSettings.from_option("HTML") == ReportSettings.HTML assert ReportSettings.from_option("email") == ReportSettings.Email assert ReportSettings.from_option("EmAil") == ReportSettings.Email