feat: 展示PDD商品和采购订单信息 (#164)
This commit is contained in:
@@ -228,6 +228,44 @@ class TaskRepositoryTests(unittest.TestCase):
|
||||
self.assertEqual([task.remote_task_id for task in tasks], ["COLLECT-BLACK"])
|
||||
self.assertEqual(self.repository.count_tasks(filters), 1)
|
||||
|
||||
def test_list_and_keyword_search_extract_purchase_order_no_safely(self) -> None:
|
||||
self.repository.add_claimed_task(
|
||||
self._task("PURCHASE-ORDER", TaskType.PURCHASE)
|
||||
)
|
||||
self.repository.add_claimed_task(self._task("COLLECT-BROKEN"))
|
||||
connection = open_database(self.db_path)
|
||||
try:
|
||||
with connection:
|
||||
connection.execute(
|
||||
"UPDATE pdd_tasks SET pdd_data = ? WHERE remote_task_id = ?",
|
||||
(
|
||||
'{"purchase":{"order_no":"ORDER-20260811"}}',
|
||||
"PURCHASE-ORDER",
|
||||
),
|
||||
)
|
||||
connection.execute(
|
||||
"UPDATE pdd_tasks SET pdd_data = ? WHERE remote_task_id = ?",
|
||||
("不是有效JSON", "COLLECT-BROKEN"),
|
||||
)
|
||||
finally:
|
||||
connection.close()
|
||||
|
||||
tasks = self.repository.list_tasks()
|
||||
by_id = {task.remote_task_id: task for task in tasks}
|
||||
searched = self.repository.list_tasks(
|
||||
TaskFilters(keyword="20260811")
|
||||
)
|
||||
|
||||
self.assertEqual(by_id["PURCHASE-ORDER"].order_no, "ORDER-20260811")
|
||||
self.assertIsNone(by_id["COLLECT-BROKEN"].order_no)
|
||||
self.assertEqual(
|
||||
[task.remote_task_id for task in searched], ["PURCHASE-ORDER"]
|
||||
)
|
||||
self.assertEqual(
|
||||
self.repository.count_tasks(TaskFilters(keyword="ORDER-20260811")),
|
||||
1,
|
||||
)
|
||||
|
||||
def test_keyword_treats_percent_as_normal_text(self) -> None:
|
||||
self.repository.add_claimed_task(self._task("TASK-100%", title="百分号"))
|
||||
self.repository.add_claimed_task(self._task("TASK-OTHER", title="普通商品"))
|
||||
|
||||
Reference in New Issue
Block a user