import tempfile import unittest from pathlib import Path from fgai.feedback import FeedbackStore class FeedbackTests(unittest.TestCase): def test_feedback_store_can_clear_by_status_or_all(self): with tempfile.TemporaryDirectory() as directory: store = FeedbackStore(str(Path(directory) / "feedback.json")) store.add({"status": "expected", "entity": "alice", "stream_id": "windows", "field": "username"}) store.add({"status": "confirmed", "entity": "bob", "stream_id": "vpn", "field": "username"}) expected = store.clear(status="expected") self.assertEqual(expected, {"removed": 1, "remaining": 1, "status": "expected"}) self.assertEqual(store.entries()[0]["status"], "confirmed") all_items = store.clear() self.assertEqual(all_items, {"removed": 1, "remaining": 0, "status": "all"}) self.assertEqual(store.entries(), []) if __name__ == "__main__": unittest.main()