fix: 分页条数切换后自动刷新 (#243)

This commit is contained in:
chengma
2026-08-15 15:32:01 +08:00
parent af1c056b8c
commit 8e4239bcfc
5 changed files with 92 additions and 13 deletions
+43 -2
View File
@@ -67,8 +67,13 @@ func TestModuleNavigation_按账号保存稳定列表状态且安全回退(t *te
jsSource := string(js)
for _, want := range []string{
"var MODULE_QUERY_KEYS = {",
"\"/shopee\": [\"q\", \"search_field\", \"status\", \"deleted\", \"unlinked\", \"page\"]",
"\"/syb\": [\"order_no\", \"shop\", \"stage\", \"page\", \"date_from\", \"date_to\"]",
"\"/shopee\": [\"q\", \"search_field\", \"status\", \"deleted\", \"unlinked\", \"page\", \"page_size\"]",
"\"/pdd\": [\"q\", \"status\", \"page\", \"page_size\"]",
"\"/syb\": [\"order_no\", \"shop\", \"stage\", \"page\", \"page_size\", \"date_from\", \"date_to\"]",
"\"/tasks\": [\"type\", \"status\", \"creator\", \"q\", \"page\", \"page_size\"]",
"\"/clients\": [\"name\", \"page\", \"page_size\"]",
"\"/inner-codes\": [\"date\", \"status\", \"q\", \"page\", \"page_size\"]",
"\"/users\": [\"q\", \"status\", \"page\", \"page_size\"]",
"var MODULE_STATE_PREFIX = \"cmautobuy:module-state:\"",
"parsed.origin !== window.location.origin || parsed.pathname !== moduleRoot",
"sessionStorage.setItem(",
@@ -96,6 +101,42 @@ func TestModuleNavigation_按账号保存稳定列表状态且安全回退(t *te
}
}
func TestPageSizeSelect_切换后自动提交且保留无脚本回退(t *testing.T) {
footer, err := os.ReadFile("templates/partials/footer.html")
if err != nil {
t.Fatal(err)
}
footerSource := string(footer)
for _, want := range []string{
`method="get" class="page-size-form" data-page-size-form`,
`name="page_size" data-page-size-select`,
`type="submit" data-page-size-submit>应用</button>`,
} {
if !strings.Contains(footerSource, want) {
t.Errorf("公共分页缺少渐进增强回退 %q", want)
}
}
js, err := os.ReadFile("static/js/app.js")
if err != nil {
t.Fatal(err)
}
jsSource := string(js)
for _, want := range []string{
`function setupPageSizeForms()`,
`select.addEventListener("change"`,
`form.getAttribute("aria-busy") === "true"`,
`form.requestSubmit()`,
`if (beginSubmit()) form.submit()`,
`submit.textContent = "加载中…"`,
`setupPageSizeForms();`,
} {
if !strings.Contains(jsSource, want) {
t.Errorf("分页容量自动提交缺少交互约束 %q", want)
}
}
}
func TestPurchaseModal_未选规格行保持隐藏且不提交(t *testing.T) {
files := map[string][]string{
"static/css/app.css": {