feat: 展示PDD商品和采购订单信息 (#164)

This commit is contained in:
chengma
2026-08-11 16:46:49 +08:00
parent 24497c55fd
commit 1f48d3a857
9 changed files with 319 additions and 31 deletions
+41 -2
View File
@@ -8,7 +8,15 @@ os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication
from src.pdd_ui import CHECK_COLUMN, PDDTaskPage, TaskRow, TaskTableModel
from src.pdd_ui import (
CHECK_COLUMN,
GOODS_ID_COLUMN,
ORDER_NO_COLUMN,
TITLE_COLUMN,
PDDTaskPage,
TaskRow,
TaskTableModel,
)
class TaskTableModelCheckTests(unittest.TestCase):
@@ -166,7 +174,9 @@ class TaskTableModelCheckTests(unittest.TestCase):
page.detailRequested.connect(received.append)
self.assertNotIn("操作", page.taskModel.HEADERS)
self.assertEqual(page.taskModel.columnCount(), 11)
self.assertEqual(page.taskModel.columnCount(), 13)
self.assertEqual(page.taskModel.HEADERS[GOODS_ID_COLUMN], "PDD商品ID")
self.assertEqual(page.taskModel.HEADERS[ORDER_NO_COLUMN], "订单号")
page._on_table_activated(page.taskModel.index(0, CHECK_COLUMN))
page._on_table_activated(page.taskModel.index(0, 2))
@@ -174,6 +184,35 @@ class TaskTableModelCheckTests(unittest.TestCase):
self.assertIn("Enter", page.taskTable.accessibleDescription())
page.deleteLater()
def test_goods_id_order_no_and_full_value_tooltips_are_visible(self):
model = TaskTableModel()
model.set_tasks(
[
TaskRow(
"PUR-1",
"采购",
goods_id="897186799891",
title="很长的商品标题",
order_no="ORDER-20260811",
)
]
)
self.assertEqual(
model.data(model.index(0, GOODS_ID_COLUMN)), "897186799891"
)
self.assertEqual(
model.data(model.index(0, ORDER_NO_COLUMN)), "ORDER-20260811"
)
self.assertEqual(
model.data(model.index(0, TITLE_COLUMN), Qt.ToolTipRole),
"很长的商品标题",
)
self.assertEqual(
model.data(model.index(0, ORDER_NO_COLUMN), Qt.ToolTipRole),
"ORDER-20260811",
)
def test_remove_emits_stable_checked_task_ids(self):
page = PDDTaskPage()
page.set_tasks(