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.
Files changed (47) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/bin/adapter/entry-points/console/consoleDoneStore.js +0 -2
  3. package/bin/adapter/entry-points/console/consoleDoneStore.js.map +1 -1
  4. package/bin/adapter/entry-points/console/consoleTabNames.js +0 -1
  5. package/bin/adapter/entry-points/console/consoleTabNames.js.map +1 -1
  6. package/bin/adapter/entry-points/console/ui-dist/assets/index-C5cOzhyn.js +86 -0
  7. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  8. package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js +0 -15
  9. package/bin/domain/usecases/console/GenerateConsoleListsUseCase.js.map +1 -1
  10. package/package.json +1 -1
  11. package/src/adapter/entry-points/console/consoleDataDelivery.test.ts +15 -9
  12. package/src/adapter/entry-points/console/consoleDoneStore.ts +0 -2
  13. package/src/adapter/entry-points/console/consoleItemUrlLookup.test.ts +1 -1
  14. package/src/adapter/entry-points/console/consoleTabNames.ts +0 -1
  15. package/src/adapter/entry-points/console/ui/e2e/consoleScenario.spec.ts +7 -115
  16. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +0 -16
  17. package/src/adapter/entry-points/console/ui/src/features/console/components/detail/ConsoleItemDetail.stories.tsx +1 -3
  18. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.stories.tsx +0 -4
  19. package/src/adapter/entry-points/console/ui/src/features/console/components/layout/ConsoleTabList.test.tsx +0 -1
  20. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.stories.tsx +0 -10
  21. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.test.tsx +2 -28
  22. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleOperationMenu.tsx +0 -10
  23. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleNavigation.test.ts +18 -14
  24. package/src/adapter/entry-points/console/ui/src/features/console/hooks/useConsoleOverlay.test.ts +2 -2
  25. package/src/adapter/entry-points/console/ui/src/features/console/logic/actionToast.test.ts +1 -1
  26. package/src/adapter/entry-points/console/ui/src/features/console/logic/grouping.test.ts +7 -7
  27. package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.test.ts +10 -8
  28. package/src/adapter/entry-points/console/ui/src/features/console/logic/tabAdvance.test.ts +9 -11
  29. package/src/adapter/entry-points/console/ui/src/features/console/logic/types.ts +1 -12
  30. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.test.tsx +0 -12
  31. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsoleItemDetailContainer.tsx +0 -3
  32. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +10 -57
  33. package/src/adapter/entry-points/console/ui-dist/assets/index-C5cOzhyn.js +86 -0
  34. package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
  35. package/src/adapter/entry-points/console/webServer.test.ts +2 -2
  36. package/src/adapter/entry-points/handlers/consoleListsWriter.test.ts +0 -1
  37. package/src/domain/usecases/console/GenerateConsoleListsUseCase.test.ts +2 -160
  38. package/src/domain/usecases/console/GenerateConsoleListsUseCase.ts +0 -37
  39. package/types/adapter/entry-points/console/consoleDoneStore.d.ts.map +1 -1
  40. package/types/adapter/entry-points/console/consoleTabNames.d.ts.map +1 -1
  41. package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts +1 -11
  42. package/types/domain/usecases/console/GenerateConsoleListsUseCase.d.ts.map +1 -1
  43. package/bin/adapter/entry-points/console/ui-dist/assets/index-BVyeR7xJ.js +0 -86
  44. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.stories.tsx +0 -80
  45. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.test.tsx +0 -39
  46. package/src/adapter/entry-points/console/ui/src/features/console/components/operations/ConsoleStoryActions.tsx +0 -42
  47. 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-BVyeR7xJ.js"></script>
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":"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"}
1
+ {"version":3,"file":"GenerateConsoleListsUseCase.js","sourceRoot":"","sources":["../../../../src/domain/usecases/console/GenerateConsoleListsUseCase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -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
- ).toEqual({
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/triage/detail/123.json', { number: 123 });
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: 'triage',
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: 'triage',
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', 'triage');
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' }]);
@@ -3,7 +3,6 @@ import type { ConsoleTabName } from '../../../domain/usecases/console/GenerateCo
3
3
  export const CONSOLE_LIST_TAB_NAMES: ConsoleTabName[] = [
4
4
  'workflow-blocker',
5
5
  'prs',
6
- 'triage',
7
6
  'failed-preparation',
8
7
  'todo-by-human',
9
8
  'todo-by-agent',
@@ -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, 'Triage')).toHaveText('2');
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('Triage', { timeout: 8000 });
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, 'Triage').click();
91
- await expect(activeTabLabel(page)).toHaveText('Triage');
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, 'Triage')).toHaveText('2');
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="triage"
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,
@@ -5,7 +5,6 @@ import { ConsoleTabList } from './ConsoleTabList';
5
5
  const counts: Record<ConsoleTabName, number> = {
6
6
  'workflow-blocker': 4,
7
7
  prs: 3,
8
- triage: 0,
9
8
  'failed-preparation': 0,
10
9
  'todo-by-human': 2,
11
10
  'todo-by-agent': 3,
@@ -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 while hiding the story group outside triage', () => {
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 but hides the story group on the workflow-blocker tab', () => {
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}