feat(collect): add product status recheck

This commit is contained in:
chengma
2026-07-18 18:09:07 +08:00
parent 3e9052e1b6
commit ba36b9fd8e
14 changed files with 985 additions and 32 deletions
+26 -1
View File
@@ -190,10 +190,35 @@ class ProductStatusTests(unittest.TestCase):
self.assertEqual([1], [task.id for task in plan["executable"]])
self.assertEqual([2], [task.id for task in plan["unlisted"]])
self.assertEqual([3], [task.id for task in plan["reviewing"]])
self.assertEqual([4], [task.id for task in plan["unknown"]])
self.assertEqual([], [task.id for task in plan["unknown"]])
self.assertEqual([4], [task.id for task in plan["unverified"]])
self.assertEqual([5], [task.id for task in plan["missing_title"]])
self.assertEqual([5], [task.id for task in plan["missing_cover"]])
self.assertEqual(3, plan["status_scope_excluded"])
self.assertEqual(1, plan["content_scope_excluded"])
self.assertEqual(4, plan["scope_excluded"])
self.assertNotEqual(plan["fingerprint"], changed["fingerprint"])
def test_apply_plan_separates_missing_status_from_confirmed_unknown(self):
tasks = [
SimpleNamespace(
id=1,
updated_at="2026-07-18T10:00:00",
product_status=None,
new_title="新标题",
new_cover_path="new.jpg",
),
SimpleNamespace(
id=2,
updated_at="2026-07-18T10:00:01",
product_status="unknown",
new_title="新标题",
new_cover_path="new.jpg",
),
]
plan = product_status.build_apply_plan(tasks, "cover")
self.assertEqual([1], [task.id for task in plan["unverified"]])
self.assertEqual([2], [task.id for task in plan["unknown"]])
self.assertEqual(2, plan["status_scope_excluded"])