"""Tests for alumni app_settings."""
from django.test import SimpleTestCase


class AlumniAppSettingsTest(SimpleTestCase):
    """Test alumni app settings."""

    def test_alumni_state_name_is_string(self) -> None:
        """Test ALUMNI_STATE_NAME is a string."""
        from alumni.app_settings import ALUMNI_STATE_NAME

        self.assertIsInstance(ALUMNI_STATE_NAME, str)

    def test_alumni_task_priority_is_integer(self) -> None:
        """Test ALUMNI_TASK_PRIORITY is an integer."""
        from alumni.app_settings import ALUMNI_TASK_PRIORITY

        self.assertIsInstance(ALUMNI_TASK_PRIORITY, int)

    def test_alumni_charactercorporation_ratelimit_is_string(self) -> None:
        """Test ALUMNI_CHARACTERCORPORATION_RATELIMIT is a string."""
        from alumni.app_settings import ALUMNI_CHARACTERCORPORATION_RATELIMIT

        self.assertIsInstance(ALUMNI_CHARACTERCORPORATION_RATELIMIT, str)
        # Should be in format like '10/m'
        self.assertIn('/', ALUMNI_CHARACTERCORPORATION_RATELIMIT)

    def test_alumni_task_jitter_is_integer(self) -> None:
        """Test ALUMNI_TASK_JITTER is an integer."""
        from alumni.app_settings import ALUMNI_TASK_JITTER

        self.assertIsInstance(ALUMNI_TASK_JITTER, int)

    def test_all_settings_exist(self) -> None:
        """Test that all expected settings can be imported."""
        from alumni import app_settings

        self.assertTrue(hasattr(app_settings, 'ALUMNI_STATE_NAME'))
        self.assertTrue(hasattr(app_settings, 'ALUMNI_TASK_PRIORITY'))
        self.assertTrue(hasattr(app_settings, 'ALUMNI_CHARACTERCORPORATION_RATELIMIT'))
        self.assertTrue(hasattr(app_settings, 'ALUMNI_TASK_JITTER'))
