fix(adapter): add unit tests + reorganize data directories
- Add tests/test_json_file.py with unit tests for JsonFileRoomStorage and JsonFileTrackingStorage - Reorganize data directories per han's feedback: - Rooms: ~/.jigaido/data/room/<room_id>.json (was ~/.jigaido/data/<room_id>.json) - Tracking: ~/.jigaido/data/tracking/<room_id>_<user_id>.json (was ~/.jigaido/tracking/...) - Note: duplicate tracking is handled at TrackingService layer (returns False if already tracking), adapter allows duplicates by design
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
|
||||
Implements RoomStorage and TrackingStorage ports using JSON file persistence.
|
||||
Data stored at:
|
||||
- Rooms: ~/.jigaido/data/<room_id>.json
|
||||
- Tracking: ~/.jigaido/tracking/<room_id>_<user_id>.json
|
||||
- Rooms: ~/.jigaido/data/room/<room_id>.json
|
||||
- Tracking: ~/.jigaido/data/tracking/<room_id>_<user_id>.json
|
||||
"""
|
||||
|
||||
import json
|
||||
@@ -18,12 +18,12 @@ from core.ports import RoomStorage, TrackingStorage
|
||||
class JsonFileRoomStorage:
|
||||
"""RoomStorage implementation using JSON files.
|
||||
|
||||
Stores room data at ~/.jigaido/data/<room_id>.json
|
||||
Stores room data at ~/.jigaido/data/room/<room_id>.json
|
||||
"""
|
||||
|
||||
def __init__(self, data_dir: Path | None = None):
|
||||
if data_dir is None:
|
||||
data_dir = Path.home() / ".jigaido" / "data"
|
||||
data_dir = Path.home() / ".jigaido" / "data" / "room"
|
||||
self._data_dir = data_dir
|
||||
self._data_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
@@ -136,12 +136,12 @@ class JsonFileRoomStorage:
|
||||
class JsonFileTrackingStorage:
|
||||
"""TrackingStorage implementation using JSON files.
|
||||
|
||||
Stores tracking data at ~/.jigaido/tracking/<room_id>_<user_id>.json
|
||||
Stores tracking data at ~/.jigaido/data/tracking/<room_id>_<user_id>.json
|
||||
"""
|
||||
|
||||
def __init__(self, tracking_dir: Path | None = None):
|
||||
if tracking_dir is None:
|
||||
tracking_dir = Path.home() / ".jigaido" / "tracking"
|
||||
tracking_dir = Path.home() / ".jigaido" / "data" / "tracking"
|
||||
self._tracking_dir = tracking_dir
|
||||
self._tracking_dir.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user