import pytest from app.services.storage import JSONStorage from pathlib import Path class TestJSONStorage: def test_save_and_load(self, temp_dir): storage = JSONStorage() storage.data_dir = temp_dir data = {"name": "test", "value": 123} storage.save("test", data) loaded = storage.load("test") assert loaded == data def test_load_nonexistent(self, temp_dir): storage = JSONStorage() storage.data_dir = temp_dir result = storage.load("nonexistent", default={"default": True}) assert result == {"default": True} def test_save_list(self, temp_dir): storage = JSONStorage() storage.data_dir = temp_dir data = [1, 2, 3, "test"] storage.save("list", data) loaded = storage.load("list") assert loaded == data def test_save_nested_data(self, temp_dir): storage = JSONStorage() storage.data_dir = temp_dir data = { "tasks": [ {"id": "1", "status": "completed"}, {"id": "2", "status": "running"} ] } storage.save("nested", data) loaded = storage.load("nested") assert loaded == data