🐛 fix(vscode): 选工单不再重新加载整个看板,直接列看板上摆着的「审查」列工单,文件数一项项补上,每一步记进日志
This commit is contained in:
1 parent
4ec38cff12
commit
b3a829e658
10 files changed
+310
-112
No files matched your search
@@ -1,32 +1,8 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { inReviewColumn, pickItemText, prNumberOf, reviewableIssue, reviewablePullRequest, reviewDescription, reviewMessage } from './reviewRules'
|
||||
import { inReviewColumn, prNumberOf, reviewableIssue, reviewablePullRequest, reviewDescription, reviewMessage } from './reviewRules'
|
||||
|
||||
const issue = { number: 446, title: '用户资料:上传头像,收紧非管理员改资料的权限' }
|
||||
|
||||
describe('选工单弹框的一项', () => {
|
||||
it('本机有工作副本:工单号 + 标题,淡色 PR 号,第二行改了几个文件', () => {
|
||||
expect(pickItemText(issue, { number: 447, files: { count: 6 }, hasWorktree: true })).toEqual({
|
||||
label: '#446 用户资料:上传头像,收紧非管理员改资料的权限',
|
||||
description: 'PR #447',
|
||||
detail: '改了 6 个文件 · 本机有工作副本',
|
||||
})
|
||||
})
|
||||
|
||||
it('本机没有工作副本:说选中后拉取 PR 分支', () => {
|
||||
expect(pickItemText({ number: 452, title: '桌面端:照 Figma 原型重做设置页' }, { number: 455, files: { count: 12 }, hasWorktree: false }).detail)
|
||||
.toBe('改了 12 个文件 · 本机没有工作副本,选中后拉取 PR 分支')
|
||||
})
|
||||
|
||||
it('读不到改了哪些文件:写出错的原话,不编数', () => {
|
||||
expect(pickItemText(issue, { number: 447, files: { error: 'Gitea 502' }, hasWorktree: true }).detail)
|
||||
.toBe('读不到改了哪些文件:Gitea 502 · 本机有工作副本')
|
||||
})
|
||||
|
||||
it('没有关联 PR:没有 PR 号,第二行只写「没有关联 PR」', () => {
|
||||
expect(pickItemText(issue)).toEqual({ label: '#446 用户资料:上传头像,收紧非管理员改资料的权限', detail: '没有关联 PR' })
|
||||
})
|
||||
})
|
||||
|
||||
describe('审查时的视图标题', () => {
|
||||
it('标题后面「审查 #446」,下面一行工单标题、PR、改了几个文件', () => {
|
||||
expect(reviewDescription(446)).toBe('审查 #446')
|
||||
@@ -46,7 +22,17 @@ describe('看板「审查」列', () => {
|
||||
expect(inReviewColumn(issues).map(item => item.number)).toEqual([452, 446, 438])
|
||||
})
|
||||
|
||||
it('工单的 PR 号取 state JSON 里的正整数', () => {
|
||||
it('只要 Gitea 的工单(PR 在 Gitea 上),YouTrack 的不算,没写来源的算 Gitea 的', () => {
|
||||
const issues = [
|
||||
{ number: 12, column: 'review' as const, source: 'youtrack' as const },
|
||||
{ number: 446, column: 'review' as const, source: 'gitea' as const },
|
||||
{ number: 438, column: 'review' as const },
|
||||
]
|
||||
expect(inReviewColumn(issues).map(item => item.number)).toEqual([446, 438])
|
||||
})
|
||||
|
||||
it('工单的 PR 号取 state JSON 里的正整数(看板快照里也是字符串)', () => {
|
||||
expect(prNumberOf({ pr: '454' })).toBe(454)
|
||||
expect(prNumberOf({ pr: '447' })).toBe(447)
|
||||
expect(prNumberOf({})).toBeUndefined()
|
||||
expect(prNumberOf({ pr: '' })).toBeUndefined()
|
||||
|
||||
Reference in new issue
Block a user