feat: 展示PDD商品和采购订单信息 (#164)
This commit is contained in:
@@ -8,7 +8,7 @@ os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
||||
|
||||
from PyQt5.QtCore import Qt
|
||||
from PyQt5.QtTest import QTest
|
||||
from PyQt5.QtWidgets import QApplication
|
||||
from PyQt5.QtWidgets import QApplication, QWidget
|
||||
|
||||
from src.task_detail_view import (
|
||||
CopyableBodyLabel,
|
||||
@@ -145,6 +145,57 @@ class TaskDetailViewTest(unittest.TestCase):
|
||||
expected,
|
||||
)
|
||||
|
||||
def test_purchase_result_shows_order_and_prefers_raw_order_time(self):
|
||||
purchase_data = {
|
||||
"purchase": {
|
||||
"mode": "live",
|
||||
"confirmed": {
|
||||
"options": {"color": "黑色", "size": "L"},
|
||||
"quantity": 2,
|
||||
"unit_price_cent": 3990,
|
||||
"total_price_cent": 7980,
|
||||
},
|
||||
"order_no": "ORDER-20260811",
|
||||
"ordered_at": "2026-08-11T08:00:00+08:00",
|
||||
"ordered_at_raw": "2026-08-11 08:00:00",
|
||||
"match_status": "matched",
|
||||
"payment_status": "unpaid",
|
||||
}
|
||||
}
|
||||
detail = replace(
|
||||
make_detail(purchase_data),
|
||||
remote_task_id="PUR-001",
|
||||
task_type=TaskType.PURCHASE,
|
||||
)
|
||||
|
||||
data = build_task_detail_view_data(detail)
|
||||
|
||||
self.assertEqual(data.purchase.mode, "真实采购")
|
||||
self.assertEqual(data.purchase.confirmed_spec, "黑色 / L")
|
||||
self.assertEqual(data.purchase.order_no, "ORDER-20260811")
|
||||
self.assertEqual(data.purchase.ordered_at, "2026-08-11 08:00:00")
|
||||
self.assertEqual(data.purchase.match_status, "已匹配")
|
||||
self.assertEqual(data.purchase.payment_status, "待付款")
|
||||
|
||||
window = TaskDetailWindow(detail)
|
||||
self.assertIsNotNone(window.findChild(QWidget, "purchaseResultCard"))
|
||||
self.assertTrue(
|
||||
any(
|
||||
label.text() == "ORDER-20260811"
|
||||
for label in window.findChildren(CopyableBodyLabel)
|
||||
)
|
||||
)
|
||||
window.close()
|
||||
self.app.processEvents()
|
||||
|
||||
def test_collect_detail_does_not_show_purchase_result_card(self):
|
||||
window = TaskDetailWindow(make_detail(collected_data()))
|
||||
|
||||
self.assertIsNone(window.findChild(QWidget, "purchaseResultCard"))
|
||||
|
||||
window.close()
|
||||
self.app.processEvents()
|
||||
|
||||
def test_window_builds_color_section_before_size_section(self):
|
||||
window = TaskDetailWindow(make_detail(collected_data()))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user