added initial test suite and fixed pytest env problems
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
"""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
|
||||
Reference in New Issue
Block a user