26 lines
995 B
Python
26 lines
995 B
Python
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()
|