fix: 下单后自动进入只读核单 (#119)
This commit is contained in:
@@ -24,6 +24,7 @@ from src.pdd_ui_event import (
|
||||
ERROR_FEEDBACK_DURATION_MS,
|
||||
ERROR_FEEDBACK_MIN_HEIGHT,
|
||||
ERROR_FEEDBACK_MIN_WIDTH,
|
||||
PURCHASE_RECONCILE_DELAY_MS,
|
||||
PDDTaskPageEvent,
|
||||
admin_task_to_new_claimed_task,
|
||||
summary_to_row,
|
||||
@@ -1474,6 +1475,56 @@ class PDDTaskPageEventTest(unittest.TestCase):
|
||||
events.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_live_submit_schedules_read_only_reconcile_after_five_seconds(self):
|
||||
page = PDDTaskPage()
|
||||
events = PDDTaskPageEvent(
|
||||
page,
|
||||
self.repository,
|
||||
claim_gateway=RecordingClaimGateway(None),
|
||||
settings_repository=self._saved_settings(),
|
||||
)
|
||||
events._auto_fetch_running = True
|
||||
|
||||
events._on_collect_outcome(
|
||||
"reconcile_pending",
|
||||
"任务 PUR-001 订单提交点击已执行,结果待只读核对",
|
||||
"PUR-001",
|
||||
)
|
||||
|
||||
self.assertEqual(
|
||||
events._cycle_next_delay_ms, PURCHASE_RECONCILE_DELAY_MS
|
||||
)
|
||||
self.assertTrue(events._auto_fetch_running)
|
||||
self.assertFalse(events._stop_requested)
|
||||
self.assertIn("5 秒后自动核对订单", page.statusLabel.text())
|
||||
events.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_stop_during_reconcile_wait_cancels_next_cycle(self):
|
||||
page = PDDTaskPage()
|
||||
events = PDDTaskPageEvent(
|
||||
page,
|
||||
self.repository,
|
||||
claim_gateway=RecordingClaimGateway(None),
|
||||
settings_repository=self._saved_settings(),
|
||||
)
|
||||
events._auto_fetch_running = True
|
||||
events._on_collect_outcome(
|
||||
"reconcile_pending", "等待只读核对", "PUR-001"
|
||||
)
|
||||
events._on_claim_thread_finished()
|
||||
self.assertTrue(events._next_cycle_timer.isActive())
|
||||
self.assertEqual(
|
||||
events._next_cycle_timer.interval(), PURCHASE_RECONCILE_DELAY_MS
|
||||
)
|
||||
|
||||
events._request_stop_auto_fetch()
|
||||
|
||||
self.assertFalse(events._next_cycle_timer.isActive())
|
||||
self.assertFalse(events._auto_fetch_running)
|
||||
events.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_duplicate_task_is_normal_status(self):
|
||||
task = collect_admin_task()
|
||||
self.repository.add_claimed_task(admin_task_to_new_claimed_task(task))
|
||||
|
||||
Reference in New Issue
Block a user