fix: 放大任务错误提示并自动关闭 (#84)
This commit is contained in:
@@ -16,6 +16,11 @@ from src.android_device_service import AndroidDeviceSearchError
|
||||
from src.pdd_ui import PDDTaskPage
|
||||
from src.admin_gateway import AdminGatewayError, AdminTask, SubmissionReceipt
|
||||
from src.pdd_ui_event import (
|
||||
ERROR_FEEDBACK_BUTTON_MIN_HEIGHT,
|
||||
ERROR_FEEDBACK_BUTTON_MIN_WIDTH,
|
||||
ERROR_FEEDBACK_DURATION_MS,
|
||||
ERROR_FEEDBACK_MIN_HEIGHT,
|
||||
ERROR_FEEDBACK_MIN_WIDTH,
|
||||
PDDTaskPageEvent,
|
||||
admin_task_to_new_claimed_task,
|
||||
summary_to_row,
|
||||
@@ -463,6 +468,7 @@ class PDDTaskPageEventTest(unittest.TestCase):
|
||||
events._show_rerun_error("重新采集失败", "测试错误")
|
||||
second = events._rerun_feedback
|
||||
self.assertIsNot(first, second)
|
||||
self.assertEqual(second.duration, ERROR_FEEDBACK_DURATION_MS)
|
||||
|
||||
close_buttons = [
|
||||
button
|
||||
@@ -470,12 +476,55 @@ class PDDTaskPageEventTest(unittest.TestCase):
|
||||
if button.text() == "关闭提示"
|
||||
]
|
||||
self.assertEqual(len(close_buttons), 1)
|
||||
self.assertGreaterEqual(second.minimumWidth(), ERROR_FEEDBACK_MIN_WIDTH)
|
||||
self.assertGreaterEqual(second.minimumHeight(), ERROR_FEEDBACK_MIN_HEIGHT)
|
||||
self.assertGreaterEqual(
|
||||
close_buttons[0].minimumWidth(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_WIDTH,
|
||||
)
|
||||
self.assertGreaterEqual(
|
||||
close_buttons[0].minimumHeight(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_HEIGHT,
|
||||
)
|
||||
close_buttons[0].click()
|
||||
self.app.processEvents()
|
||||
self.assertIsNone(events._rerun_feedback)
|
||||
events.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_claim_error_is_large_closable_and_replaces_previous(self):
|
||||
page = PDDTaskPage()
|
||||
events = PDDTaskPageEvent(page, self.repository)
|
||||
|
||||
events._show_claim_error("采集失败", "第一条错误")
|
||||
first = events._claim_feedback
|
||||
events._show_claim_error("采购失败", "第二条错误")
|
||||
second = events._claim_feedback
|
||||
|
||||
self.assertIsNot(first, second)
|
||||
self.assertEqual(second.duration, ERROR_FEEDBACK_DURATION_MS)
|
||||
self.assertGreaterEqual(second.minimumWidth(), ERROR_FEEDBACK_MIN_WIDTH)
|
||||
self.assertGreaterEqual(second.minimumHeight(), ERROR_FEEDBACK_MIN_HEIGHT)
|
||||
close_buttons = [
|
||||
button
|
||||
for button in second.findChildren(type(page.rerunButton))
|
||||
if button.text() == "关闭提示"
|
||||
]
|
||||
self.assertEqual(len(close_buttons), 1)
|
||||
self.assertGreaterEqual(
|
||||
close_buttons[0].minimumWidth(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_WIDTH,
|
||||
)
|
||||
self.assertGreaterEqual(
|
||||
close_buttons[0].minimumHeight(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_HEIGHT,
|
||||
)
|
||||
close_buttons[0].click()
|
||||
self.app.processEvents()
|
||||
self.assertIsNone(events._claim_feedback)
|
||||
events.shutdown()
|
||||
page.deleteLater()
|
||||
|
||||
def test_late_rerun_success_does_not_override_cancel_status(self):
|
||||
page = PDDTaskPage()
|
||||
events = PDDTaskPageEvent(page, self.repository)
|
||||
@@ -527,6 +576,7 @@ class PDDTaskPageEventTest(unittest.TestCase):
|
||||
before = self.repository.get_task("PDD-001")
|
||||
before_run = self.repository.latest_task_run("PDD-001")
|
||||
page = PDDTaskPage()
|
||||
|
||||
def disconnected(_serial):
|
||||
raise AndroidDeviceSearchError(
|
||||
"USB Android 设备 USB-001 未连接"
|
||||
@@ -566,12 +616,24 @@ class PDDTaskPageEventTest(unittest.TestCase):
|
||||
events._show_device_unavailable("第二条")
|
||||
second = events._device_feedback
|
||||
self.assertIsNot(first, second)
|
||||
self.assertEqual(second.duration, ERROR_FEEDBACK_DURATION_MS)
|
||||
self.assertGreaterEqual(second.minimumWidth(), ERROR_FEEDBACK_MIN_WIDTH)
|
||||
self.assertGreaterEqual(second.minimumHeight(), ERROR_FEEDBACK_MIN_HEIGHT)
|
||||
buttons = {
|
||||
button.text(): button
|
||||
for button in second.findChildren(type(page.rerunButton))
|
||||
}
|
||||
self.assertIn("打开设置", buttons)
|
||||
self.assertIn("关闭提示", buttons)
|
||||
for button in buttons.values():
|
||||
self.assertGreaterEqual(
|
||||
button.minimumWidth(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_WIDTH,
|
||||
)
|
||||
self.assertGreaterEqual(
|
||||
button.minimumHeight(),
|
||||
ERROR_FEEDBACK_BUTTON_MIN_HEIGHT,
|
||||
)
|
||||
buttons["打开设置"].click()
|
||||
self.app.processEvents()
|
||||
self.assertEqual(opened, [True])
|
||||
|
||||
Reference in New Issue
Block a user