"""
Smoke tests to verify testing infrastructure is working.
"""
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

import pytest


class TestInfrastructure:
    """Verify testing infrastructure is properly set up."""

    def test_pytest_works(self):
        """Verify pytest is working."""
        assert True

    def test_test_mode_enabled(self):
        """Verify test mode is enabled."""
        # conftest.py should set this
        assert os.environ.get('BAOLIFE_TEST_MODE') == 'true'

    def test_can_import_mocks(self):
        """Verify mock modules can be imported."""
        from tests.mocks.output_mock import MockGameOutput
        from tests.mocks.storage_mock import InMemoryStorage
        from tests.mocks.services_mock import MockConversationService

        assert MockGameOutput is not None
        assert InMemoryStorage is not None
        assert MockConversationService is not None

    def test_can_import_fixtures(self):
        """Verify fixture modules can be imported."""
        from tests.fixtures.player_fixtures import create_newborn_player

        player = create_newborn_player()
        assert player is not None
        assert player.c.ageYears == 0

    def test_storage_abstraction(self):
        """Verify storage abstraction works."""
        from storage import get_storage

        storage = get_storage()
        assert storage is not None

    def test_output_abstraction(self):
        """Verify output abstraction works."""
        from output import get_output

        output = get_output()
        assert output is not None

    def test_headless_game_imports(self):
        """Verify headless game can be imported."""
        from cli_runner import HeadlessGame

        assert HeadlessGame is not None
