Skip to content

Commit d93db95

Browse files
committed
test: 🧪 add testing structure
1 parent 665f928 commit d93db95

File tree

6 files changed

+64
-0
lines changed

6 files changed

+64
-0
lines changed

tests/__init__.py

Whitespace-only changes.

tests/conftest.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import pytest
2+
3+
from src.core.clipboard_listener import ClipboardListener
4+
from src.data import SharedData
5+
6+
7+
@pytest.fixture
8+
def shared_data():
9+
return SharedData()
10+
11+
12+
@pytest.fixture
13+
def listener(shared_data):
14+
return ClipboardListener(shared_data)
15+
16+
17+
def create_shared_data():
18+
return SharedData()
19+
20+
21+
def create_listener(shared_data):
22+
return ClipboardListener(shared_data)

tests/core/__init__.py

Whitespace-only changes.

tests/data/__init__.py

Whitespace-only changes.

tests/data/test_data_manager.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import unittest
2+
from unittest.mock import patch, mock_open
3+
from src.data.data_manager import DataManager
4+
5+
6+
class TestDataManager(unittest.TestCase):
7+
8+
@patch(
9+
"src.data.data_manager.open",
10+
new_callable=mock_open,
11+
read_data='{"key": "value"}',
12+
)
13+
def test_load_commands(self, mock_file):
14+
manager = DataManager()
15+
commands = manager.load_commands()
16+
self.assertEqual(commands, {"key": "value"})
17+
18+
@patch("src.data.data_manager.open", new_callable=mock_open)
19+
def test_save_commands(self, mock_file):
20+
manager = DataManager()
21+
manager.save_commands({"key": "value"})
22+
mock_file.assert_called_once_with("commands.json", "w")
23+
24+
@patch(
25+
"src.data.data_manager.open",
26+
new_callable=mock_open,
27+
read_data='{"GROQ_API_KEY": "key", "GROQ_MODEL": "model"}',
28+
)
29+
def test_load_settings(self, mock_file):
30+
manager = DataManager()
31+
settings = manager.load_settings()
32+
self.assertEqual(settings, {"GROQ_API_KEY": "key", "GROQ_MODEL": "model"})
33+
34+
@patch("src.data.data_manager.open", new_callable=mock_open)
35+
def test_save_settings(self, mock_file):
36+
manager = DataManager()
37+
manager.save_settings({"GROQ_API_KEY": "key", "GROQ_MODEL": "model"})
38+
mock_file.assert_called_once_with("settings.json", "w")
39+
40+
41+
if __name__ == "__main__":
42+
unittest.main()

tests/gui/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)