⚡ perf(vscode): 摘修复用本地合并记录分组,列表改手风琴
This commit is contained in:
1 parent
cfabee08b7
commit
5284fc1730
8 files changed
+183
-221
No files matched your search
@@ -13,6 +13,8 @@ import {
|
||||
pickCurrentRelease,
|
||||
todayReleaseBranch,
|
||||
groupCommitsByPr,
|
||||
parseGiteaMergeSubject,
|
||||
indexUnreleasedByMergePr,
|
||||
} from '../../src/git/release'
|
||||
|
||||
const gitEnv = { ...process.env, GIT_CONFIG_NOSYSTEM: '1', GIT_CONFIG_GLOBAL: '/dev/null', GIT_TERMINAL_PROMPT: '0', GIT_AUTHOR_NAME: 't', GIT_AUTHOR_EMAIL: 't@t', GIT_COMMITTER_NAME: 't', GIT_COMMITTER_EMAIL: 't@t' }
|
||||
@@ -57,6 +59,13 @@ describe('纯函数', () => {
|
||||
expect(pickCurrentRelease('release/', ['main', 'release/2026-08-01', 'release/2026-08-31', 'hotfix/2027'])).toBe('release/2026-08-31')
|
||||
expect(pickCurrentRelease('release/', ['main'])).toBeUndefined()
|
||||
})
|
||||
it('parseGiteaMergeSubject 认 Gitea 合并说明', () => {
|
||||
expect(parseGiteaMergeSubject("Merge pull request '连续包月会员订阅体系' (#260) from feature/monthly-membership into main")).toEqual({
|
||||
number: 260,
|
||||
title: '连续包月会员订阅体系',
|
||||
})
|
||||
expect(parseGiteaMergeSubject('fix: no merge')).toBeUndefined()
|
||||
})
|
||||
it('groupCommitsByPr 按 Gitea 给的 pr 号分组,说明里没有 Closes 也能归组', () => {
|
||||
const groups = groupCommitsByPr([
|
||||
{ sha: '3e519ea', subject: 'fix(admin): 会员档位隐藏', author: 'chehongweo', date: '2026-08-31', body: '', pr: 260, prTitle: '连续包月会员订阅体系' },
|
||||
@@ -133,4 +142,23 @@ describe('集成', () => {
|
||||
git(fx.repo, ['fetch', 'origin'])
|
||||
expect(await listReleaseBranches({ cwd: fx.repo, prefix: 'release/' })).toEqual(['release/2026-08-31', 'release/2026-08-01'])
|
||||
})
|
||||
it('indexUnreleasedByMergePr 用本地合并记录把分支提交对上 PR', async () => {
|
||||
fx = await setup()
|
||||
await cutRelease({ cwd: fx.repo, devBranch: 'main', branch: 'release/2026-08-31' })
|
||||
git(fx.peer, ['checkout', '-b', 'feature'])
|
||||
const a = commit(fx.peer, 'b.txt', 'b', 'fix(admin): 会员档位隐藏')
|
||||
const b = commit(fx.peer, 'c.txt', 'c', 'fix(membership): 年付月度发卡')
|
||||
git(fx.peer, ['checkout', 'main'])
|
||||
git(fx.peer, ['merge', '--no-ff', '-m', "Merge pull request '连续包月会员订阅体系' (#260) from feature into main", 'feature'])
|
||||
git(fx.peer, ['push', 'origin', 'main'])
|
||||
git(fx.repo, ['fetch', 'origin'])
|
||||
const map = await indexUnreleasedByMergePr({
|
||||
cwd: fx.repo,
|
||||
current: 'release/2026-08-31',
|
||||
devBranch: 'main',
|
||||
shas: [a, b],
|
||||
})
|
||||
expect(map.get(a)).toEqual({ number: 260, title: '连续包月会员订阅体系' })
|
||||
expect(map.get(b)).toEqual({ number: 260, title: '连续包月会员订阅体系' })
|
||||
})
|
||||
})
|
||||
Reference in new issue
Block a user