github-issue-tower-defence-management 1.122.1 → 1.122.3

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 (49) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/adapter/entry-points/cli/index.js +9 -0
  3. package/bin/adapter/entry-points/cli/index.js.map +1 -1
  4. package/bin/adapter/entry-points/console/consoleDoneStore.js +1 -0
  5. package/bin/adapter/entry-points/console/consoleDoneStore.js.map +1 -1
  6. package/bin/adapter/entry-points/console/consoleOperationApi.js +78 -39
  7. package/bin/adapter/entry-points/console/consoleOperationApi.js.map +1 -1
  8. package/bin/adapter/entry-points/console/consoleProjectResolver.js +8 -1
  9. package/bin/adapter/entry-points/console/consoleProjectResolver.js.map +1 -1
  10. package/bin/adapter/entry-points/console/ui-dist/assets/{index-syKbd_lW.js → index-CC-RYye2.js} +24 -24
  11. package/bin/adapter/entry-points/console/ui-dist/index.html +1 -1
  12. package/bin/adapter/entry-points/console/webServer.js +5 -1
  13. package/bin/adapter/entry-points/console/webServer.js.map +1 -1
  14. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js +23 -4
  15. package/bin/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/adapter/entry-points/cli/index.test.ts +3 -1
  18. package/src/adapter/entry-points/cli/index.ts +11 -0
  19. package/src/adapter/entry-points/console/consoleDataDelivery.test.ts +22 -0
  20. package/src/adapter/entry-points/console/consoleDoneStore.test.ts +8 -0
  21. package/src/adapter/entry-points/console/consoleDoneStore.ts +1 -0
  22. package/src/adapter/entry-points/console/consoleOperationApi.test.ts +190 -11
  23. package/src/adapter/entry-points/console/consoleOperationApi.ts +97 -56
  24. package/src/adapter/entry-points/console/consoleProjectResolver.test.ts +13 -0
  25. package/src/adapter/entry-points/console/consoleProjectResolver.ts +11 -0
  26. package/src/adapter/entry-points/console/ui/e2e/consoleTestHarness.ts +3 -0
  27. package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.test.ts +10 -43
  28. package/src/adapter/entry-points/console/ui/src/features/console/logic/overlay.ts +0 -17
  29. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.test.tsx +5 -6
  30. package/src/adapter/entry-points/console/ui/src/features/console/pages/ConsolePage.tsx +5 -10
  31. package/src/adapter/entry-points/console/ui-dist/assets/{index-syKbd_lW.js → index-CC-RYye2.js} +24 -24
  32. package/src/adapter/entry-points/console/ui-dist/index.html +1 -1
  33. package/src/adapter/entry-points/console/webServer.test.ts +4 -0
  34. package/src/adapter/entry-points/console/webServer.ts +9 -1
  35. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.test.ts +86 -0
  36. package/src/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.ts +34 -7
  37. package/src/domain/usecases/adapter-interfaces/IssueRepository.ts +1 -0
  38. package/types/adapter/entry-points/cli/index.d.ts.map +1 -1
  39. package/types/adapter/entry-points/console/consoleDoneStore.d.ts.map +1 -1
  40. package/types/adapter/entry-points/console/consoleOperationApi.d.ts +2 -0
  41. package/types/adapter/entry-points/console/consoleOperationApi.d.ts.map +1 -1
  42. package/types/adapter/entry-points/console/consoleProjectResolver.d.ts +2 -1
  43. package/types/adapter/entry-points/console/consoleProjectResolver.d.ts.map +1 -1
  44. package/types/adapter/entry-points/console/webServer.d.ts +2 -1
  45. package/types/adapter/entry-points/console/webServer.d.ts.map +1 -1
  46. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts +2 -1
  47. package/types/adapter/repositories/issue/ApiV3CheerioRestIssueRepository.d.ts.map +1 -1
  48. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts +1 -1
  49. package/types/domain/usecases/adapter-interfaces/IssueRepository.d.ts.map +1 -1
@@ -30,23 +30,6 @@ export const filterPendingItems = (
30
30
  (item) => !isOverlayEntryActed(overlay[overlayKeyForItem(item)]),
31
31
  );
32
32
 
33
- export const tabIgnoresDoneOverlay = (tab: ConsoleTabName): boolean =>
34
- tab === 'workflow-blocker';
35
-
36
- export const countTabPendingItems = (
37
- items: ConsoleListItem[],
38
- overlay: ConsoleOverlay,
39
- tab: ConsoleTabName,
40
- ): number =>
41
- tabIgnoresDoneOverlay(tab) ? items.length : countPendingItems(items, overlay);
42
-
43
- export const filterTabPendingItems = (
44
- items: ConsoleListItem[],
45
- overlay: ConsoleOverlay,
46
- tab: ConsoleTabName,
47
- ): ConsoleListItem[] =>
48
- tabIgnoresDoneOverlay(tab) ? items : filterPendingItems(items, overlay);
49
-
50
33
  export const writeOverlayEntry = (
51
34
  overlay: ConsoleOverlay,
52
35
  key: string,
@@ -255,7 +255,7 @@ describe('ConsolePage', () => {
255
255
  expect(queryByText('project: umino')).toBeNull();
256
256
  });
257
257
 
258
- it('keeps the workflow-blocker tab visible and lists its items even when every item is marked done in the overlay', async () => {
258
+ it('removes a processed workflow-blocker item from the list and decrements its tab badge, like every other tab', async () => {
259
259
  const blockerItems = [
260
260
  {
261
261
  number: 701,
@@ -311,7 +311,6 @@ describe('ConsolePage', () => {
311
311
  'pv_overlay_umino',
312
312
  JSON.stringify({
313
313
  PVTI_B1: { ts: 1, mode: 'workflow-blocker', done: true },
314
- PVTI_B2: { ts: 1, mode: 'workflow-blocker', done: true },
315
314
  }),
316
315
  );
317
316
  window.history.replaceState(
@@ -320,17 +319,17 @@ describe('ConsolePage', () => {
320
319
  '/projects/umino/workflow-blocker?k=token',
321
320
  );
322
321
 
323
- const { getByText } = render(<ConsolePage />);
322
+ const { getByText, queryByText } = render(<ConsolePage />);
324
323
  await waitFor(() => {
325
- expect(getByText('Blocked deployment task')).toBeInTheDocument();
324
+ expect(getByText('Blocked rollout task')).toBeInTheDocument();
326
325
  });
327
- expect(getByText('Blocked rollout task')).toBeInTheDocument();
326
+ expect(queryByText('Blocked deployment task')).toBeNull();
328
327
  const blockerTab = within(tabBar())
329
328
  .getByText('Workflow Blocker')
330
329
  .closest('a');
331
330
  expect(blockerTab).not.toBeNull();
332
331
  expect(blockerTab?.querySelector('.console-tab-badge')?.textContent).toBe(
333
- '2',
332
+ '1',
334
333
  );
335
334
  });
336
335
 
@@ -26,8 +26,8 @@ import {
26
26
  previousPendingKeyBefore,
27
27
  } from '../logic/navigation';
28
28
  import {
29
- countTabPendingItems,
30
- filterTabPendingItems,
29
+ countPendingItems,
30
+ filterPendingItems,
31
31
  overlayKeyForItem,
32
32
  } from '../logic/overlay';
33
33
  import type { ConsoleSwipeDirection } from '../logic/swipe';
@@ -65,10 +65,9 @@ export const ConsolePage = () => {
65
65
  if (snapshot === null) {
66
66
  continue;
67
67
  }
68
- result[tab.name] = countTabPendingItems(
68
+ result[tab.name] = countPendingItems(
69
69
  snapshot.items,
70
70
  overlayState.overlay,
71
- tab.name,
72
71
  );
73
72
  }
74
73
  return result;
@@ -93,12 +92,8 @@ export const ConsolePage = () => {
93
92
  if (activeSnapshot === null) {
94
93
  return [];
95
94
  }
96
- return filterTabPendingItems(
97
- activeSnapshot.items,
98
- overlayState.overlay,
99
- activeTab,
100
- );
101
- }, [activeSnapshot, overlayState.overlay, activeTab]);
95
+ return filterPendingItems(activeSnapshot.items, overlayState.overlay);
96
+ }, [activeSnapshot, overlayState.overlay]);
102
97
 
103
98
  const orderedPendingKeys = useMemo(
104
99
  () => pendingItems.map((item) => overlayKeyForItem(item)),