github-issue-tower-defence-management 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/bin/adapter/entry-points/console/consoleDoneStore.js +0 -2
- package/bin/adapter/entry-points/console/consoleDoneStore.js.map +1 -1
- package/bin/adapter/entry-points/console/consoleTabNames.js +0 -1
- package/bin/adapter/entry-points/console/consoleTabNames.js.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-C5cOzhyn.js +86 -0
- package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js +0 -15
- package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/console/consoleDataDelivery.test.ts +15 -9
- package/src/adapter/entry-points/console/consoleDoneStore.ts +0 -2
- package/src/adapter/entry-points/console/consoleItemUrlLookup.test.ts +1 -1
- package/src/adapter/entry-points/console/consoleTabNames.ts +0 -1
- package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +7 -115
- package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +0 -16
- package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.stories.tsx +1 -3
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +0 -4
- package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +0 -1
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.stories.tsx +0 -10
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.test.tsx +2 -28
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.tsx +0 -10
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleNavigation.test.ts +18 -14
- package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOverlay.test.ts +2 -2
- package/src/adapter/entry-points/console/ui/src/features/console/logic/actionToast.test.ts +1 -1
- package/src/adapter/entry-points/console/ui/src/features/console/logic/grouping.test.ts +7 -7
- package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.test.ts +10 -8
- package/src/adapter/entry-points/console/ui/src/features/console/logic/tabAdvance.test.ts +9 -11
- package/src/adapter/entry-points/console/ui/src/features/console/logic/types.ts +1 -12
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.test.tsx +0 -12
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.tsx +0 -3
- package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +10 -57
- package/src/adapter/entry-points/console/ui-dist/assets/index-C5cOzhyn.js +86 -0
- package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
- package/src/adapter/entry-points/console/webServer.test.ts +2 -2
- package/src/adapter/entry-points/handlers/consoleListsWriter.test.ts +0 -1
- package/src/domain/usecases/console/GenerateConsoleListsUseCase.test.ts +2 -160
- package/src/domain/usecases/console/GenerateConsoleListsUseCase.ts +0 -37
- package/types/adapter/entry-points/console/consoleDoneStore.d.ts.map +1 -1
- package/types/adapter/entry-points/console/consoleTabNames.d.ts.map +1 -1
- package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts +1 -11
- package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts.map +1 -1
- package/bin/adapter/entry-points/console/ui-dist/assets/index-BVyeR7xJ.js +0 -86
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.stories.tsx +0 -80
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.test.tsx +0 -39
- package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.tsx +0 -42
- package/src/adapter/entry-points/console/ui-dist/assets/index-BVyeR7xJ.js +0 -86
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>TDPM Console</title>
|
|
7
|
-
<script type="module" crossorigin src="/assets/index-
|
|
7
|
+
<script type="module" crossorigin src="/assets/index-C5cOzhyn.js"></script>
|
|
8
8
|
<link rel="stylesheet" crossorigin href="/assets/index-CLHvrafO.css">
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
@@ -58,14 +58,6 @@ class GenerateConsoleListsUseCase {
|
|
|
58
58
|
'todo-by-human': buildStatusTab((issue) => issue.status === WorkflowStatus_1.TODO_STATUS_NAME ||
|
|
59
59
|
issue.status === WorkflowStatus_1.LEGACY_TODO_STATUS_NAME, [WorkflowStatus_1.TODO_STATUS_NAME.toLowerCase(), 'done']),
|
|
60
60
|
'todo-by-agent': buildStatusTab((issue) => issue.status === WorkflowStatus_1.TODO_BY_AGENT_STATUS_NAME, [WorkflowStatus_1.TODO_BY_AGENT_STATUS_NAME.toLowerCase(), 'done']),
|
|
61
|
-
triage: {
|
|
62
|
-
pjcode,
|
|
63
|
-
generatedAt,
|
|
64
|
-
storyOptions: this.buildFieldOptions(storyOptions, []),
|
|
65
|
-
storyOrder,
|
|
66
|
-
storyColors: this.buildStoryColorsString(storyOptions),
|
|
67
|
-
items: this.sortByStoryOrder(actionableIssues.map((issue) => this.projectItem(issue, relatedOpenPullRequestUrlsByIssueUrl.get(issue.url) ?? [])), storyOrder),
|
|
68
|
-
},
|
|
69
61
|
stories: {
|
|
70
62
|
pjcode,
|
|
71
63
|
generatedAt,
|
|
@@ -140,13 +132,6 @@ class GenerateConsoleListsUseCase {
|
|
|
140
132
|
}
|
|
141
133
|
return result;
|
|
142
134
|
};
|
|
143
|
-
this.buildStoryColorsString = (options) => {
|
|
144
|
-
const result = {};
|
|
145
|
-
for (const option of options) {
|
|
146
|
-
result[option.name] = option.color;
|
|
147
|
-
}
|
|
148
|
-
return result;
|
|
149
|
-
};
|
|
150
135
|
this.sortByStoryOrder = (items, storyOrder) => {
|
|
151
136
|
const indexByStory = new Map(storyOrder.map((name, index) => [name, index]));
|
|
152
137
|
return items
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerateConsoleListsUseCase.js","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":";;;AAEA,kEAKuC;AACvC,oCAAwC;
|
|
1
|
+
{"version":3,"file":"GenerateConsoleListsUseCase.js","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -29,14 +29,20 @@ describe('parseConsoleDataRoute', () => {
|
|
|
29
29
|
});
|
|
30
30
|
|
|
31
31
|
it('parses a detail route', () => {
|
|
32
|
+
expect(parseConsoleDataRoute('/projects/acme/prs/detail/123.json')).toEqual(
|
|
33
|
+
{
|
|
34
|
+
kind: 'detail',
|
|
35
|
+
pjcode: 'acme',
|
|
36
|
+
tab: 'prs',
|
|
37
|
+
key: '123.json',
|
|
38
|
+
},
|
|
39
|
+
);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
it('rejects the removed triage tab in a detail route', () => {
|
|
32
43
|
expect(
|
|
33
44
|
parseConsoleDataRoute('/projects/acme/triage/detail/123.json'),
|
|
34
|
-
).
|
|
35
|
-
kind: 'detail',
|
|
36
|
-
pjcode: 'acme',
|
|
37
|
-
tab: 'triage',
|
|
38
|
-
key: '123.json',
|
|
39
|
-
});
|
|
45
|
+
).toBeNull();
|
|
40
46
|
});
|
|
41
47
|
|
|
42
48
|
it('parses an in-tmux route', () => {
|
|
@@ -173,11 +179,11 @@ describe('buildConsoleDataResponse', () => {
|
|
|
173
179
|
});
|
|
174
180
|
|
|
175
181
|
it('serves a detail file without exclusion', () => {
|
|
176
|
-
writeJson('acme/
|
|
182
|
+
writeJson('acme/prs/detail/123.json', { number: 123 });
|
|
177
183
|
const response = buildConsoleDataResponse(baseDir, {
|
|
178
184
|
kind: 'detail',
|
|
179
185
|
pjcode: 'acme',
|
|
180
|
-
tab: '
|
|
186
|
+
tab: 'prs',
|
|
181
187
|
key: '123.json',
|
|
182
188
|
});
|
|
183
189
|
expect(response.statusCode).toBe(200);
|
|
@@ -188,7 +194,7 @@ describe('buildConsoleDataResponse', () => {
|
|
|
188
194
|
const response = buildConsoleDataResponse(baseDir, {
|
|
189
195
|
kind: 'detail',
|
|
190
196
|
pjcode: 'acme',
|
|
191
|
-
tab: '
|
|
197
|
+
tab: 'prs',
|
|
192
198
|
key: '404.json',
|
|
193
199
|
});
|
|
194
200
|
expect(response.statusCode).toBe(404);
|
|
@@ -81,7 +81,6 @@ export const recordDoneProjectItemId = (
|
|
|
81
81
|
export const CONSOLE_DONE_TAB_NAMES: string[] = [
|
|
82
82
|
'workflow-blocker',
|
|
83
83
|
'prs',
|
|
84
|
-
'triage',
|
|
85
84
|
'failed-preparation',
|
|
86
85
|
'todo-by-human',
|
|
87
86
|
'todo-by-agent',
|
|
@@ -98,7 +97,6 @@ export const CONSOLE_DONE_STATUS_SELECTED_TAB_NAMES: string[] = [
|
|
|
98
97
|
|
|
99
98
|
export const CONSOLE_DONE_STORY_SELECTED_TAB_NAMES: string[] = [
|
|
100
99
|
'workflow-blocker',
|
|
101
|
-
'triage',
|
|
102
100
|
];
|
|
103
101
|
|
|
104
102
|
export const recordDoneProjectItemIdForTabs = (
|
|
@@ -41,7 +41,7 @@ describe('findConsoleItemUrl', () => {
|
|
|
41
41
|
});
|
|
42
42
|
|
|
43
43
|
it('ignores a tab file that is not valid json', () => {
|
|
44
|
-
const dir = path.join(baseDir, 'acme', '
|
|
44
|
+
const dir = path.join(baseDir, 'acme', 'failed-preparation');
|
|
45
45
|
fs.mkdirSync(dir, { recursive: true });
|
|
46
46
|
fs.writeFileSync(path.join(dir, 'list.json'), 'not json');
|
|
47
47
|
writeList('prs', [{ url: 'https://github.com/o/r/issues/1' }]);
|
|
@@ -64,7 +64,7 @@ test('processing tabs drives auto-advance and keeps emptied badges at zero', asy
|
|
|
64
64
|
|
|
65
65
|
await expect(activeTabLabel(page)).toHaveText('Awaiting Quality Check');
|
|
66
66
|
await expect(tabBadge(page, 'Awaiting Quality Check')).toHaveText('1');
|
|
67
|
-
await expect(tabBadge(page, '
|
|
67
|
+
await expect(tabBadge(page, 'Failed Preparation')).toHaveText('1');
|
|
68
68
|
await expect(tabBadge(page, 'Todo by human')).toHaveText('1');
|
|
69
69
|
|
|
70
70
|
await itemRowByText(
|
|
@@ -77,7 +77,9 @@ test('processing tabs drives auto-advance and keeps emptied badges at zero', asy
|
|
|
77
77
|
await expect(approveButton).toBeVisible();
|
|
78
78
|
await approveButton.click();
|
|
79
79
|
|
|
80
|
-
await expect(activeTabLabel(page)).toHaveText('
|
|
80
|
+
await expect(activeTabLabel(page)).toHaveText('Failed Preparation', {
|
|
81
|
+
timeout: 8000,
|
|
82
|
+
});
|
|
81
83
|
await expect(tabByLabel(page, 'Awaiting Quality Check')).toHaveCount(0, {
|
|
82
84
|
timeout: 8000,
|
|
83
85
|
});
|
|
@@ -87,10 +89,10 @@ test('processing tabs drives auto-advance and keeps emptied badges at zero', asy
|
|
|
87
89
|
await expect(tabByLabel(page, 'Awaiting Quality Check')).toHaveCount(0);
|
|
88
90
|
await expect(tabBadge(page, 'Todo by human')).toHaveText('1');
|
|
89
91
|
|
|
90
|
-
await tabByLabel(page, '
|
|
91
|
-
await expect(activeTabLabel(page)).toHaveText('
|
|
92
|
+
await tabByLabel(page, 'Failed Preparation').click();
|
|
93
|
+
await expect(activeTabLabel(page)).toHaveText('Failed Preparation');
|
|
92
94
|
await expect(tabByLabel(page, 'Awaiting Quality Check')).toHaveCount(0);
|
|
93
|
-
await expect(tabBadge(page, '
|
|
95
|
+
await expect(tabBadge(page, 'Failed Preparation')).toHaveText('1');
|
|
94
96
|
});
|
|
95
97
|
|
|
96
98
|
test('renders the Workflow Blocker tab leftmost and shows its detail operations', async ({
|
|
@@ -309,80 +311,6 @@ test('opens the comment input with the item detail, keeps it on screen while the
|
|
|
309
311
|
expect(dockHeightAfterPosting).toBe(dockHeightBeforePosting);
|
|
310
312
|
});
|
|
311
313
|
|
|
312
|
-
test('preserves the unsent comment draft when swiping between tasks', async ({
|
|
313
|
-
page,
|
|
314
|
-
}) => {
|
|
315
|
-
await page.goto(harness.appRootUrl);
|
|
316
|
-
|
|
317
|
-
await tabByLabel(page, 'Triage').click();
|
|
318
|
-
|
|
319
|
-
await itemRowByText(
|
|
320
|
-
page,
|
|
321
|
-
'Add Sonnet to Opus weekly-limit fallback routing per token',
|
|
322
|
-
).click();
|
|
323
|
-
|
|
324
|
-
await expect(page.locator('.console-composer-input')).toBeVisible();
|
|
325
|
-
await page.locator('.console-composer-input').fill('work in progress draft');
|
|
326
|
-
|
|
327
|
-
const swipeDetailScreen = async (
|
|
328
|
-
fromX: number,
|
|
329
|
-
toX: number,
|
|
330
|
-
): Promise<void> => {
|
|
331
|
-
await page.evaluate(
|
|
332
|
-
([from, to]: [number, number]) => {
|
|
333
|
-
const screen = document.querySelector('.console-detail-screen');
|
|
334
|
-
if (!screen) throw new Error('.console-detail-screen not found');
|
|
335
|
-
const mkTouch = (x: number): Touch =>
|
|
336
|
-
new Touch({
|
|
337
|
-
identifier: 1,
|
|
338
|
-
target: screen,
|
|
339
|
-
clientX: x,
|
|
340
|
-
clientY: 200,
|
|
341
|
-
pageX: x,
|
|
342
|
-
pageY: 200,
|
|
343
|
-
});
|
|
344
|
-
screen.dispatchEvent(
|
|
345
|
-
new TouchEvent('touchstart', {
|
|
346
|
-
bubbles: true,
|
|
347
|
-
cancelable: true,
|
|
348
|
-
touches: [mkTouch(from)],
|
|
349
|
-
}),
|
|
350
|
-
);
|
|
351
|
-
screen.dispatchEvent(
|
|
352
|
-
new TouchEvent('touchmove', {
|
|
353
|
-
bubbles: true,
|
|
354
|
-
cancelable: true,
|
|
355
|
-
touches: [mkTouch(to)],
|
|
356
|
-
}),
|
|
357
|
-
);
|
|
358
|
-
screen.dispatchEvent(
|
|
359
|
-
new TouchEvent('touchend', {
|
|
360
|
-
bubbles: true,
|
|
361
|
-
cancelable: true,
|
|
362
|
-
changedTouches: [mkTouch(to)],
|
|
363
|
-
touches: [],
|
|
364
|
-
}),
|
|
365
|
-
);
|
|
366
|
-
},
|
|
367
|
-
[fromX, toX] as [number, number],
|
|
368
|
-
);
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
await swipeDetailScreen(300, 100);
|
|
372
|
-
await expect(page).toHaveURL(/PVTI_lADOABCD1234zgTRI00692/, {
|
|
373
|
-
timeout: 3000,
|
|
374
|
-
});
|
|
375
|
-
|
|
376
|
-
await swipeDetailScreen(100, 300);
|
|
377
|
-
await expect(page).toHaveURL(/PVTI_lADOABCD1234zgTRI00778/, {
|
|
378
|
-
timeout: 3000,
|
|
379
|
-
});
|
|
380
|
-
|
|
381
|
-
await expect(page.locator('.console-composer-input')).toHaveValue(
|
|
382
|
-
'work in progress draft',
|
|
383
|
-
);
|
|
384
|
-
});
|
|
385
|
-
|
|
386
314
|
test('renders the stories tab with non-gray stories, their open item counts, and an add-task button', async ({
|
|
387
315
|
page,
|
|
388
316
|
}) => {
|
|
@@ -599,42 +527,6 @@ test('changes the color of a story row via the color palette in the stories tab'
|
|
|
599
527
|
await expect(palette).toHaveCount(0);
|
|
600
528
|
});
|
|
601
529
|
|
|
602
|
-
test('reorders stories on the triage tab with up/down buttons', async ({
|
|
603
|
-
page,
|
|
604
|
-
}) => {
|
|
605
|
-
await page.goto(harness.appRootUrl);
|
|
606
|
-
|
|
607
|
-
await tabByLabel(page, 'Triage').click();
|
|
608
|
-
|
|
609
|
-
const reorderPanel = page.locator('.console-story-reorder-panel');
|
|
610
|
-
await expect(reorderPanel).toBeVisible();
|
|
611
|
-
|
|
612
|
-
const rows = reorderPanel.locator('.console-story-reorder-row');
|
|
613
|
-
await expect(rows).toHaveCount(3);
|
|
614
|
-
|
|
615
|
-
await expect(rows.nth(0)).toContainText('TDPM Console port');
|
|
616
|
-
await expect(rows.nth(1)).toContainText('Publish product documentation site');
|
|
617
|
-
await expect(rows.nth(2)).toContainText('regular / WORKFLOW BLOCKER');
|
|
618
|
-
|
|
619
|
-
await rows.nth(0).locator('[aria-label="Move down"]').click();
|
|
620
|
-
|
|
621
|
-
await expect
|
|
622
|
-
.poll(() => harness.reorderStoryCalls.length, { timeout: 5000 })
|
|
623
|
-
.toBe(1);
|
|
624
|
-
|
|
625
|
-
await expect(rows.nth(0)).toContainText('Publish product documentation site');
|
|
626
|
-
await expect(rows.nth(1)).toContainText('TDPM Console port');
|
|
627
|
-
|
|
628
|
-
await rows.nth(1).locator('[aria-label="Move up"]').click();
|
|
629
|
-
|
|
630
|
-
await expect
|
|
631
|
-
.poll(() => harness.reorderStoryCalls.length, { timeout: 5000 })
|
|
632
|
-
.toBe(2);
|
|
633
|
-
|
|
634
|
-
await expect(rows.nth(0)).toContainText('TDPM Console port');
|
|
635
|
-
await expect(rows.nth(1)).toContainText('Publish product documentation site');
|
|
636
|
-
});
|
|
637
|
-
|
|
638
530
|
test('posts a comment and moves the item to Awaiting Workspace when the Comment & Awaiting Workspace button is clicked', async ({
|
|
639
531
|
page,
|
|
640
532
|
}) => {
|
|
@@ -232,22 +232,6 @@ export const CONSOLE_E2E_TAB_ITEMS: Record<string, ConsoleFixtureListItem[]> = {
|
|
|
232
232
|
'2026-06-17T23:41:08.000Z',
|
|
233
233
|
),
|
|
234
234
|
],
|
|
235
|
-
triage: [
|
|
236
|
-
issueItem(
|
|
237
|
-
778,
|
|
238
|
-
'Add Sonnet to Opus weekly-limit fallback routing per token',
|
|
239
|
-
'TRI00778',
|
|
240
|
-
'regular / workflow improvement',
|
|
241
|
-
'2026-06-12T23:01:55.000Z',
|
|
242
|
-
),
|
|
243
|
-
issueItem(
|
|
244
|
-
692,
|
|
245
|
-
'Publish the generated documentation site to GitHub Pages',
|
|
246
|
-
'TRI00692',
|
|
247
|
-
'Publish product documentation site',
|
|
248
|
-
'2026-06-10T11:42:00.000Z',
|
|
249
|
-
),
|
|
250
|
-
],
|
|
251
235
|
'failed-preparation': [
|
|
252
236
|
{
|
|
253
237
|
...issueItem(
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
consoleMermaidBodyFixture,
|
|
9
9
|
consoleRelatedPullRequestsFixture,
|
|
10
10
|
consoleStatusOptionsFixture,
|
|
11
|
-
consoleStoryOptionsFixture,
|
|
12
11
|
} from '../../testing/fixtures';
|
|
13
12
|
import { ConsoleOperationMenu } from '../operations/ConsoleOperationMenu';
|
|
14
13
|
import { ConsoleItemDetail } from './ConsoleItemDetail';
|
|
@@ -257,12 +256,11 @@ export const IssueWithRichMarkdownBody: Story = {
|
|
|
257
256
|
relatedPullRequests: [],
|
|
258
257
|
operationBar: (
|
|
259
258
|
<ConsoleOperationMenu
|
|
260
|
-
tab="
|
|
259
|
+
tab="todo-by-human"
|
|
261
260
|
item={consoleListItemsFixture[2]}
|
|
262
261
|
hasPullRequest={false}
|
|
263
262
|
rejectEnabled={false}
|
|
264
263
|
statusOptions={consoleStatusOptionsFixture}
|
|
265
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
266
264
|
handlers={noopOperationHandlers}
|
|
267
265
|
/>
|
|
268
266
|
),
|
|
@@ -26,7 +26,6 @@ type Story = StoryObj<typeof ConsoleTabList>;
|
|
|
26
26
|
const counts: Record<ConsoleTabName, number> = {
|
|
27
27
|
'workflow-blocker': 5,
|
|
28
28
|
prs: 35,
|
|
29
|
-
triage: 132,
|
|
30
29
|
'failed-preparation': 2,
|
|
31
30
|
'todo-by-human': 66,
|
|
32
31
|
'todo-by-agent': 24,
|
|
@@ -46,7 +45,6 @@ export const ZeroCountTabsHidden: Story = {
|
|
|
46
45
|
counts: {
|
|
47
46
|
'workflow-blocker': 0,
|
|
48
47
|
prs: 35,
|
|
49
|
-
triage: 0,
|
|
50
48
|
'failed-preparation': 0,
|
|
51
49
|
'todo-by-human': 18,
|
|
52
50
|
'todo-by-agent': 0,
|
|
@@ -61,7 +59,6 @@ export const ZeroCountActiveTabStaysVisible: Story = {
|
|
|
61
59
|
counts: {
|
|
62
60
|
'workflow-blocker': 0,
|
|
63
61
|
prs: 35,
|
|
64
|
-
triage: 0,
|
|
65
62
|
'failed-preparation': 0,
|
|
66
63
|
'todo-by-human': 18,
|
|
67
64
|
'todo-by-agent': 0,
|
|
@@ -76,7 +73,6 @@ export const AfterAutoAdvanceToNextTab: Story = {
|
|
|
76
73
|
counts: {
|
|
77
74
|
'workflow-blocker': 0,
|
|
78
75
|
prs: 0,
|
|
79
|
-
triage: 0,
|
|
80
76
|
'failed-preparation': 2,
|
|
81
77
|
'todo-by-human': 4,
|
|
82
78
|
'todo-by-agent': 0,
|
|
@@ -3,7 +3,6 @@ import type { ConsoleOperationHandlers } from '../../logic/operations';
|
|
|
3
3
|
import {
|
|
4
4
|
consoleListItemsFixture,
|
|
5
5
|
consoleStatusOptionsFixture,
|
|
6
|
-
consoleStoryOptionsFixture,
|
|
7
6
|
} from '../../testing/fixtures';
|
|
8
7
|
import { ConsoleOperationMenu } from './ConsoleOperationMenu';
|
|
9
8
|
|
|
@@ -23,7 +22,6 @@ const meta: Meta<typeof ConsoleOperationMenu> = {
|
|
|
23
22
|
args: {
|
|
24
23
|
rejectEnabled: false,
|
|
25
24
|
statusOptions: consoleStatusOptionsFixture,
|
|
26
|
-
storyOptions: consoleStoryOptionsFixture,
|
|
27
25
|
handlers,
|
|
28
26
|
},
|
|
29
27
|
};
|
|
@@ -49,14 +47,6 @@ export const PrsTabPullRequestRejectEnabled: Story = {
|
|
|
49
47
|
},
|
|
50
48
|
};
|
|
51
49
|
|
|
52
|
-
export const TriageTabIssueWithStoryGroup: Story = {
|
|
53
|
-
args: {
|
|
54
|
-
tab: 'triage',
|
|
55
|
-
item: consoleListItemsFixture[2],
|
|
56
|
-
hasPullRequest: false,
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
|
|
60
50
|
export const TodoByHumanTabIssue: Story = {
|
|
61
51
|
args: {
|
|
62
52
|
tab: 'todo-by-human',
|
|
@@ -3,7 +3,6 @@ import type { ConsoleOperationHandlers } from '../../logic/operations';
|
|
|
3
3
|
import {
|
|
4
4
|
consoleListItemsFixture,
|
|
5
5
|
consoleStatusOptionsFixture,
|
|
6
|
-
consoleStoryOptionsFixture,
|
|
7
6
|
} from '../../testing/fixtures';
|
|
8
7
|
import { ConsoleOperationMenu } from './ConsoleOperationMenu';
|
|
9
8
|
|
|
@@ -21,7 +20,7 @@ const prItem = consoleListItemsFixture[0];
|
|
|
21
20
|
const issueItem = consoleListItemsFixture[2];
|
|
22
21
|
|
|
23
22
|
describe('ConsoleOperationMenu', () => {
|
|
24
|
-
it('shows the review and close groups for a PR
|
|
23
|
+
it('shows the review and close groups for a PR on the prs tab', () => {
|
|
25
24
|
const { getByText, queryByText } = render(
|
|
26
25
|
<ConsoleOperationMenu
|
|
27
26
|
tab="prs"
|
|
@@ -29,7 +28,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
29
28
|
hasPullRequest
|
|
30
29
|
rejectEnabled={false}
|
|
31
30
|
statusOptions={consoleStatusOptionsFixture}
|
|
32
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
33
31
|
handlers={handlers}
|
|
34
32
|
/>,
|
|
35
33
|
);
|
|
@@ -42,23 +40,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
42
40
|
expect(queryByText('TDPM Console port')).toBeNull();
|
|
43
41
|
});
|
|
44
42
|
|
|
45
|
-
it('shows the story group on the triage tab and the close group for an issue', () => {
|
|
46
|
-
const { getByText } = render(
|
|
47
|
-
<ConsoleOperationMenu
|
|
48
|
-
tab="triage"
|
|
49
|
-
item={issueItem}
|
|
50
|
-
hasPullRequest={false}
|
|
51
|
-
rejectEnabled={false}
|
|
52
|
-
statusOptions={consoleStatusOptionsFixture}
|
|
53
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
54
|
-
handlers={handlers}
|
|
55
|
-
/>,
|
|
56
|
-
);
|
|
57
|
-
expect(getByText('Move to Okinawa')).toBeInTheDocument();
|
|
58
|
-
expect(getByText('Close')).toBeInTheDocument();
|
|
59
|
-
expect(getByText('Close as not planned')).toBeInTheDocument();
|
|
60
|
-
});
|
|
61
|
-
|
|
62
43
|
it('shows +1 week and skip on the todo-by-human tab', () => {
|
|
63
44
|
const { getByText } = render(
|
|
64
45
|
<ConsoleOperationMenu
|
|
@@ -67,7 +48,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
67
48
|
hasPullRequest={false}
|
|
68
49
|
rejectEnabled={false}
|
|
69
50
|
statusOptions={consoleStatusOptionsFixture}
|
|
70
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
71
51
|
handlers={handlers}
|
|
72
52
|
/>,
|
|
73
53
|
);
|
|
@@ -82,7 +62,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
82
62
|
hasPullRequest={false}
|
|
83
63
|
rejectEnabled={false}
|
|
84
64
|
statusOptions={consoleStatusOptionsFixture}
|
|
85
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
86
65
|
handlers={handlers}
|
|
87
66
|
/>,
|
|
88
67
|
);
|
|
@@ -97,7 +76,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
97
76
|
hasPullRequest={false}
|
|
98
77
|
rejectEnabled={false}
|
|
99
78
|
statusOptions={consoleStatusOptionsFixture}
|
|
100
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
101
79
|
handlers={handlers}
|
|
102
80
|
/>,
|
|
103
81
|
);
|
|
@@ -105,7 +83,7 @@ describe('ConsoleOperationMenu', () => {
|
|
|
105
83
|
expect(queryByText('Close')).not.toBeNull();
|
|
106
84
|
});
|
|
107
85
|
|
|
108
|
-
it('shows status, close and next-action groups
|
|
86
|
+
it('shows status, close and next-action groups on the workflow-blocker tab', () => {
|
|
109
87
|
const { getByText, queryByText } = render(
|
|
110
88
|
<ConsoleOperationMenu
|
|
111
89
|
tab="workflow-blocker"
|
|
@@ -113,7 +91,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
113
91
|
hasPullRequest={false}
|
|
114
92
|
rejectEnabled={false}
|
|
115
93
|
statusOptions={consoleStatusOptionsFixture}
|
|
116
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
117
94
|
handlers={handlers}
|
|
118
95
|
/>,
|
|
119
96
|
);
|
|
@@ -133,7 +110,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
133
110
|
hasPullRequest
|
|
134
111
|
rejectEnabled={false}
|
|
135
112
|
statusOptions={consoleStatusOptionsFixture}
|
|
136
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
137
113
|
handlers={handlers}
|
|
138
114
|
/>,
|
|
139
115
|
);
|
|
@@ -149,7 +125,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
149
125
|
hasPullRequest
|
|
150
126
|
rejectEnabled={false}
|
|
151
127
|
statusOptions={consoleStatusOptionsFixture}
|
|
152
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
153
128
|
handlers={handlers}
|
|
154
129
|
/>,
|
|
155
130
|
);
|
|
@@ -161,7 +136,6 @@ describe('ConsoleOperationMenu', () => {
|
|
|
161
136
|
hasPullRequest
|
|
162
137
|
rejectEnabled={true}
|
|
163
138
|
statusOptions={consoleStatusOptionsFixture}
|
|
164
|
-
storyOptions={consoleStoryOptionsFixture}
|
|
165
139
|
handlers={handlers}
|
|
166
140
|
/>,
|
|
167
141
|
);
|
|
@@ -12,7 +12,6 @@ import { ConsoleNextActionDateActions } from './ConsoleNextActionDateActions';
|
|
|
12
12
|
import { ConsoleOkAndAwaitingWorkspaceActions } from './ConsoleOkAndAwaitingWorkspaceActions';
|
|
13
13
|
import { ConsolePullRequestReviewActions } from './ConsolePullRequestReviewActions';
|
|
14
14
|
import { ConsoleStatusActions } from './ConsoleStatusActions';
|
|
15
|
-
import { ConsoleStoryActions } from './ConsoleStoryActions';
|
|
16
15
|
|
|
17
16
|
export type ConsoleOperationBarProps = {
|
|
18
17
|
tab: ConsoleTabName;
|
|
@@ -20,7 +19,6 @@ export type ConsoleOperationBarProps = {
|
|
|
20
19
|
hasPullRequest: boolean;
|
|
21
20
|
rejectEnabled: boolean;
|
|
22
21
|
statusOptions: ConsoleFieldOption[];
|
|
23
|
-
storyOptions: ConsoleFieldOption[];
|
|
24
22
|
handlers: ConsoleOperationHandlers;
|
|
25
23
|
};
|
|
26
24
|
|
|
@@ -29,10 +27,8 @@ export const ConsoleOperationMenu = ({
|
|
|
29
27
|
hasPullRequest,
|
|
30
28
|
rejectEnabled,
|
|
31
29
|
statusOptions,
|
|
32
|
-
storyOptions,
|
|
33
30
|
handlers,
|
|
34
31
|
}: ConsoleOperationBarProps) => {
|
|
35
|
-
const showStory = tab === 'triage';
|
|
36
32
|
return (
|
|
37
33
|
<div className="console-operation-bar">
|
|
38
34
|
<ConsoleOkAndAwaitingWorkspaceActions
|
|
@@ -49,12 +45,6 @@ export const ConsoleOperationMenu = ({
|
|
|
49
45
|
isManualTriage={isManualTriageTab(tab)}
|
|
50
46
|
onSetNextActionDate={handlers.onSetNextActionDate}
|
|
51
47
|
/>
|
|
52
|
-
{showStory && (
|
|
53
|
-
<ConsoleStoryActions
|
|
54
|
-
storyOptions={storyOptions}
|
|
55
|
-
onSetStory={handlers.onSetStory}
|
|
56
|
-
/>
|
|
57
|
-
)}
|
|
58
48
|
<ConsoleStatusActions
|
|
59
49
|
statusOptions={statusOptions}
|
|
60
50
|
onSetStatus={handlers.onSetStatus}
|