fix(web): offer representative time after occupation notes cover
Dateless occupation_note stayed draft, so classic coverage never finished and offer-candidates stayed blocked. Confirm those notes, stop crowding dasha probes with encoded exam quality, and adopt once blocking methods are covered. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -109,13 +109,13 @@ class EventProbesTest(unittest.TestCase):
|
||||
today=date(2026, 8, 22),
|
||||
)
|
||||
self.assertTrue(probes)
|
||||
self.assertEqual(probes[0]["source"], "known_event_quality")
|
||||
self.assertEqual(probes[0]["role"], "distinguish")
|
||||
self.assertEqual(probes[0]["year"], 2015)
|
||||
self.assertIn("年份锁定", probes[0]["user_meaning"])
|
||||
self.assertIn("请写成", probes[0]["user_meaning"])
|
||||
self.assertIn("发挥失常", probes[0]["user_meaning"])
|
||||
self.assertNotIn("更像哪一件", probes[0]["user_meaning"])
|
||||
quality = next(item for item in probes if item["source"] == "known_event_quality")
|
||||
self.assertEqual(quality["role"], "distinguish")
|
||||
self.assertEqual(quality["year"], 2015)
|
||||
self.assertIn("年份锁定", quality["user_meaning"])
|
||||
self.assertIn("请写成", quality["user_meaning"])
|
||||
self.assertIn("发挥失常", quality["user_meaning"])
|
||||
self.assertNotIn("更像哪一件", quality["user_meaning"])
|
||||
self.assertNotIn("05:14", str(probes))
|
||||
self.assertNotIn("points", str(probes))
|
||||
|
||||
@@ -213,6 +213,53 @@ class EventProbesTest(unittest.TestCase):
|
||||
self.assertTrue(probes)
|
||||
self.assertTrue(all(item["source"] == "age_band" for item in probes))
|
||||
|
||||
def test_encoded_exam_quality_does_not_fill_probe_slots(self) -> None:
|
||||
built = {
|
||||
"static_contexts": [
|
||||
_context("05:13", d4_asc=0, sun_house=4, sun_varga_sign=3),
|
||||
_context("05:14", d4_asc=1, sun_house=10, sun_varga_sign=9),
|
||||
]
|
||||
}
|
||||
probes = discriminating_event_probes(
|
||||
_request(events=[
|
||||
{
|
||||
"id": "00000000-0000-4000-8000-000000000001",
|
||||
"domain": "education",
|
||||
"summary": "2015 年第一次参加高考,发挥失利",
|
||||
"date": "2015-06-01",
|
||||
"precision": "year",
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-4000-8000-000000000002",
|
||||
"domain": "education",
|
||||
"summary": "2016 年复读一年后再次参加高考",
|
||||
"date": "2016-06-01",
|
||||
"precision": "year",
|
||||
},
|
||||
{
|
||||
"id": "00000000-0000-4000-8000-000000000003",
|
||||
"domain": "education",
|
||||
"summary": "2016 年 9 月进入大学",
|
||||
"date": "2016-09-01",
|
||||
"precision": "month",
|
||||
},
|
||||
]),
|
||||
built,
|
||||
scan=window_scan(built),
|
||||
candidate_times=["05:13", "05:14"],
|
||||
representative_time="05:13",
|
||||
precision_current="d5_refine",
|
||||
today=date(2026, 8, 22),
|
||||
)
|
||||
self.assertTrue(probes)
|
||||
self.assertFalse(any(
|
||||
item["source"] == "known_event_quality" and item["year"] in {2015, 2016}
|
||||
for item in probes
|
||||
))
|
||||
self.assertTrue(any(item["source"] in {"dasha_activation", "dasha_boundary"} for item in probes))
|
||||
self.assertTrue(any(item["domain"] == "relocation" for item in probes))
|
||||
self.assertLessEqual(len(probes), 3)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user