ci(engineering): Gitea Actions 门禁 + 前端测试设施 + 版本注入修复
CI / Backend (go vet + test) (push) Canceled after 0s
CI / Frontend (lint + build + test) (push) Canceled after 0s

- .gitea/workflows/ci.yml:后端 gofmt/vet/test + 前端 lint/test/build 双 job 门禁
- vitest + @testing-library + jsdom 落地,14 个命脉用例:useListQuery 乱序丢弃/卸载中止、
  http.ts 401 单飞刷新+队列重放+失败登出+silent 直拒、审计防抖、StepDeploy 部署目标、query-utils
- 版本注入断裂修复:main 补 buildTime/gitCommit 符号,build.sh/Dockerfile 注入 main.version,
  /health 返回真实版本,前端 package.json 版本对齐 2.0.0
- gofmt 清零(8 个存量未格式化文件)
This commit is contained in:
opsx committed 2026-10-29 13:02:19 +08:00
1 parent 2975452c21
commit 4f74fe6c3f
23 files changed
+1399 -77

No files matched your search

@@ -0,0 +1,27 @@
import { describe, expect, it } from 'vitest'
import { applyLabelFilter, extractSelector, hasLabelFilter, removeLabelFilter, replaceSelector } from './query-utils'
/** 快捷查询「选 App/Pod 即插入执行」依赖这组纯函数正确合并/清理标签 */
describe('query-utils', () => {
it('replaceSelector 保留管道过滤', () => {
expect(replaceSelector('{app="a"} |= "err"', '{app="b"}')).toBe('{app="b"} |= "err"')
})
it('replaceSelector 无选择器时前置', () => {
expect(replaceSelector('', '{app="a"}')).toBe('{app="a"}')
})
it('applyLabelFilter 同名标签替换旧值', () => {
expect(applyLabelFilter('{app="a", ns="x"}', 'app', 'b')).toBe('{ns="x", app="b"}')
})
it('removeLabelFilter 删除指定标签并保留其余', () => {
expect(removeLabelFilter('{namespace="p", app="w", pod="p1"}', 'app')).toBe('{namespace="p", pod="p1"}')
expect(removeLabelFilter('{app="w"}', 'app')).toBe('{}')
})
it('hasLabelFilter 识别已有标签', () => {
expect(hasLabelFilter('{namespace="p", app="w"}', 'namespace')).toBe(true)
expect(hasLabelFilter('{app="w"}', 'namespace')).toBe(false)
})
it('extractSelector 取第一个 {...}', () => {
expect(extractSelector('{a="1"} |= "x"')).toBe('{a="1"}')
expect(extractSelector('plain')).toBe('')
})
})