aboutsummaryrefslogtreecommitdiff
path: root/pocketbook/tests/test_panel.py
diff options
context:
space:
mode:
Diffstat (limited to 'pocketbook/tests/test_panel.py')
-rw-r--r--pocketbook/tests/test_panel.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/pocketbook/tests/test_panel.py b/pocketbook/tests/test_panel.py
new file mode 100644
index 0000000..92f8648
--- /dev/null
+++ b/pocketbook/tests/test_panel.py
@@ -0,0 +1,40 @@
+from unittest.mock import MagicMock
+from pocketbook.note import Note
+
+
+class TestPanelController:
+ """Test panel controller logic with a mocked store."""
+
+ def _make_controller(self):
+ from pocketbook.panel import PanelController
+ store = MagicMock()
+ controller = PanelController(store)
+ return controller, store
+
+ def test_add_note_calls_store_create(self):
+ controller, store = self._make_controller()
+ store.create.return_value = "0001-20260101-120000-abc12.txt"
+ controller.add_note()
+ store.create.assert_called_once_with("New Note", "")
+
+ def test_delete_note_calls_store_delete(self):
+ controller, store = self._make_controller()
+ controller.delete_note("0001-20260101-120000-abc12.txt")
+ store.delete.assert_called_once_with("0001-20260101-120000-abc12.txt")
+
+ def test_update_note_calls_store_update(self):
+ controller, store = self._make_controller()
+ controller.update_note("0001-20260101-120000-abc12.txt", "New Title", "New Body")
+ store.update.assert_called_once_with(
+ "0001-20260101-120000-abc12.txt", "New Title", "New Body"
+ )
+
+ def test_get_notes_calls_store_list(self):
+ controller, store = self._make_controller()
+ store.list_notes.return_value = [
+ ("0001-20260101-120000-abc12.txt", Note(title="A", body="a")),
+ ]
+ notes = controller.get_notes()
+ store.list_notes.assert_called_once()
+ assert len(notes) == 1
+ assert notes[0][1].title == "A"