from sfm.database import SeismoDb from minimateplus.models import Event def _ins(db, eid_key="01110000", serial="BE1"): ev = Event(index=0); ev._waveform_key = bytes.fromhex(eid_key) db.insert_events([ev], serial=serial) return db.query_events(serial=serial)[0]["id"] def test_set_false_trigger_clears_reviewed_real(tmp_path): db = SeismoDb(tmp_path / "s.db"); eid = _ins(db) db.update_event_review(eid, {"reviewed_real": True}) assert db.get_event(eid)["reviewed_real"] == 1 db.set_false_trigger(eid, True) row = db.get_event(eid) assert row["false_trigger"] == 1 and row["reviewed_real"] == 0 def test_clearing_false_trigger_leaves_reviewed_real_untouched(tmp_path): db = SeismoDb(tmp_path / "s.db"); eid = _ins(db) db.update_event_review(eid, {"false_trigger": True}) db.set_false_trigger(eid, False) row = db.get_event(eid) assert row["false_trigger"] == 0 # reviewed_real was never set true, so it stays 0 either way; the point # is set_false_trigger(False) does not touch the column at all. assert row["reviewed_real"] == 0