feat: 支持批量导入 PDD 商品链接 (#104)

This commit is contained in:
chengma
2026-08-10 16:14:24 +08:00
parent 7bd75510b2
commit 188725ff64
15 changed files with 911 additions and 32 deletions
+20
View File
@@ -36,6 +36,12 @@ func TestPaginationCSS_桌面右对齐且窄窗口不遮挡内容(t *testing.T)
}
}
func TestTemplatesAndRoutesCanBeBuiltWithoutDatabaseConnection(t *testing.T) {
if _, err := newRouter(nil); err != nil {
t.Fatalf("模板或路由组装失败: %v", err)
}
}
// 六个主页面都走一次真实路由和模板渲染。
// 这样模板字段写错或新增列漏接时,测试阶段就会失败,不必等人工点页面。
func TestMainPagesReturnOK(t *testing.T) {
@@ -85,6 +91,20 @@ func TestMainPagesReturnOK(t *testing.T) {
})
}
pddRequest := httptest.NewRequest(http.MethodGet, "/pdd", nil)
addAuth(pddRequest)
pddResponse := httptest.NewRecorder()
router.ServeHTTP(pddResponse, pddRequest)
for _, want := range []string{
"批量导入", `action="/pdd/import"`, `enctype="multipart/form-data"`,
`id="pdd-import-file"`, `aria-describedby="pdd-import-help"`,
"拼多多链接", "最多 5000 条", `data-upload-form`,
} {
if !strings.Contains(pddResponse.Body.String(), want) {
t.Errorf("PDD 页面缺少批量导入界面 %q", want)
}
}
if err := service.CreatePurchaser(db, adminUser, "buyer", "buyer-password", "buyer-password", time.Now()); err != nil {
t.Fatalf("准备测试采购员失败: %v", err)
}