Files

64 lines
1.4 KiB
Python

"""Pytest configuration and fixtures."""
import pytest
import sys
import os
# Add src directory to path for imports
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
@pytest.fixture
def mock_tkinter_root():
"""Create a mock Tkinter root window for GUI tests."""
import unittest.mock
return unittest.mock.MagicMock()
@pytest.fixture(autouse=True)
def mock_tkinter_imports():
"""Mock tkinter imports to avoid GUI dependencies in tests."""
import unittest.mock
# Mock tkinter modules
mock_tk = unittest.mock.MagicMock()
mock_messagebox = unittest.mock.MagicMock()
mock_filedialog = unittest.mock.MagicMock()
modules_to_mock = {
"tkinter": mock_tk,
"tkinter.messagebox": mock_messagebox,
"tkinter.filedialog": mock_filedialog,
"tkinter.ttk": unittest.mock.MagicMock(),
}
with unittest.mock.patch.dict("sys.modules", modules_to_mock):
yield
@pytest.fixture
def temp_directory():
"""Create a temporary directory for testing."""
import tempfile
import shutil
temp_dir = tempfile.mkdtemp()
yield temp_dir
shutil.rmtree(temp_dir)
@pytest.fixture
def temp_file():
"""Create a temporary file for testing."""
import tempfile
import os
fd, temp_path = tempfile.mkstemp()
os.close(fd)
yield temp_path
try:
os.unlink(temp_path)
except FileNotFoundError:
pass