import os import unittest from pathlib import Path import project_manager from models import Track, Ticket class TestMMAPersistence(unittest.TestCase): def test_default_project_has_mma(self): proj = project_manager.default_project("test") self.assertIn("mma", proj) self.assertEqual(proj["mma"], {"epic": "", "active_track_id": "", "tracks": []}) def test_save_load_mma(self): proj = project_manager.default_project("test") proj["mma"] = {"epic": "Test Epic", "tracks": [{"id": "track_1"}]} test_file = Path("test_mma_proj.toml") try: project_manager.save_project(proj, test_file) loaded = project_manager.load_project(test_file) self.assertIn("mma", loaded) self.assertEqual(loaded["mma"]["epic"], "Test Epic") self.assertEqual(len(loaded["mma"]["tracks"]), 1) finally: if test_file.exists(): test_file.unlink() hist_file = Path("test_mma_proj_history.toml") if hist_file.exists(): hist_file.unlink() if __name__ == "__main__": unittest.main()