reviewflow 3.24.1 → 3.25.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 (56) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/dashboard/index.html +212 -100
  3. package/dist/dashboard/modules/i18n.d.ts.map +1 -1
  4. package/dist/dashboard/modules/i18n.js +14 -4
  5. package/dist/dashboard/modules/i18n.js.map +1 -1
  6. package/dist/dashboard/modules/sectionVisibility.d.ts +17 -0
  7. package/dist/dashboard/modules/sectionVisibility.d.ts.map +1 -0
  8. package/dist/dashboard/modules/sectionVisibility.js +20 -0
  9. package/dist/dashboard/modules/sectionVisibility.js.map +1 -0
  10. package/dist/frameworks/settings/runtimeSettings.d.ts +36 -11
  11. package/dist/frameworks/settings/runtimeSettings.d.ts.map +1 -1
  12. package/dist/frameworks/settings/runtimeSettings.js +98 -9
  13. package/dist/frameworks/settings/runtimeSettings.js.map +1 -1
  14. package/dist/main/server.d.ts.map +1 -1
  15. package/dist/main/server.js +4 -0
  16. package/dist/main/server.js.map +1 -1
  17. package/dist/modules/cli-configuration/interface-adapters/controllers/http/settings.routes.d.ts.map +1 -1
  18. package/dist/modules/cli-configuration/interface-adapters/controllers/http/settings.routes.js +7 -11
  19. package/dist/modules/cli-configuration/interface-adapters/controllers/http/settings.routes.js.map +1 -1
  20. package/dist/modules/review-execution/entities/reviewRequest/reviewRequestState.valueObject.js +1 -1
  21. package/dist/modules/review-execution/entities/reviewRequest/reviewRequestState.valueObject.js.map +1 -1
  22. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.d.ts.map +1 -1
  23. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.js +42 -0
  24. package/dist/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.js.map +1 -1
  25. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.d.ts.map +1 -1
  26. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js +9 -4
  27. package/dist/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.js.map +1 -1
  28. package/dist/modules/tracking/usecases/tracking/transitionState.usecase.d.ts +6 -0
  29. package/dist/modules/tracking/usecases/tracking/transitionState.usecase.d.ts.map +1 -1
  30. package/dist/modules/tracking/usecases/tracking/transitionState.usecase.js +7 -0
  31. package/dist/modules/tracking/usecases/tracking/transitionState.usecase.js.map +1 -1
  32. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.d.ts +19 -0
  33. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.d.ts.map +1 -0
  34. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.js +157 -0
  35. package/dist/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.js.map +1 -0
  36. package/dist/tests/units/dashboard/dashboardLayout.test.d.ts +13 -0
  37. package/dist/tests/units/dashboard/dashboardLayout.test.d.ts.map +1 -0
  38. package/dist/tests/units/dashboard/dashboardLayout.test.js +247 -0
  39. package/dist/tests/units/dashboard/dashboardLayout.test.js.map +1 -0
  40. package/dist/tests/units/dashboard/modules/sectionVisibility.test.d.ts +2 -0
  41. package/dist/tests/units/dashboard/modules/sectionVisibility.test.d.ts.map +1 -0
  42. package/dist/tests/units/dashboard/modules/sectionVisibility.test.js +58 -0
  43. package/dist/tests/units/dashboard/modules/sectionVisibility.test.js.map +1 -0
  44. package/dist/tests/units/entities/reviewRequestState.valueObject.test.js +5 -0
  45. package/dist/tests/units/entities/reviewRequestState.valueObject.test.js.map +1 -1
  46. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js +123 -16
  47. package/dist/tests/units/frameworks/settings/runtimeSettings.test.js.map +1 -1
  48. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.js +1 -1
  49. package/dist/tests/units/interface-adapters/controllers/http/settings.routes.test.js.map +1 -1
  50. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.test.js +37 -0
  51. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTracking.routes.test.js.map +1 -1
  52. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js +49 -5
  53. package/dist/tests/units/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.test.js.map +1 -1
  54. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js +36 -0
  55. package/dist/tests/units/usecases/tracking/transitionState.usecase.test.js.map +1 -1
  56. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mrTrackingAdvanced.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mrTrackingAdvanced.routes.js","sourceRoot":"","sources":["../../../../../../src/modules/tracking/interface-adapters/controllers/http/mrTrackingAdvanced.routes.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@ import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
2
2
  import type { ReviewRequestTrackingGateway } from '../../../../modules/tracking/interface-adapters/gateways/reviewRequestTracking.gateway.js';
3
3
  import type { TrackedMr } from '../../../../modules/tracking/entities/tracking/trackedMr.js';
4
4
  import type { QualityGateResult } from '../../../../modules/tracking/entities/qualityGate/qualityGate.js';
5
+ import type { ReviewRequestStateValue } from '../../../../modules/review-execution/entities/reviewRequest/reviewRequestState.valueObject.js';
5
6
  interface TransitionStateInput {
6
7
  projectPath: string;
7
8
  mrId: string;
8
9
  targetState: 'approved' | 'merged' | 'closed';
9
10
  qualityCheck?: (mr: TrackedMr) => QualityGateResult;
11
+ requireCurrentState?: ReviewRequestStateValue;
10
12
  }
11
13
  export type TransitionStateResult = {
12
14
  ok: true;
@@ -17,6 +19,10 @@ export type TransitionStateResult = {
17
19
  ok: false;
18
20
  reason: 'quality-gate';
19
21
  message: string;
22
+ } | {
23
+ ok: false;
24
+ reason: 'invalid-current-state';
25
+ currentState: ReviewRequestStateValue;
20
26
  };
21
27
  export declare class TransitionStateUseCase implements UseCase<TransitionStateInput, TransitionStateResult> {
22
28
  private readonly trackingGateway;
@@ -1 +1 @@
1
- {"version":3,"file":"transitionState.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/tracking/usecases/tracking/transitionState.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,iBAAiB,CAAC;CACrD;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAO3D,qBAAa,sBAAuB,YAAW,OAAO,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrF,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,4BAA4B;IAE1E,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB;CAoB5D"}
1
+ {"version":3,"file":"transitionState.usecase.d.ts","sourceRoot":"","sources":["../../../../../src/modules/tracking/usecases/tracking/transitionState.usecase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,iFAAiF,CAAC;AACpI,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAChG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qFAAqF,CAAC;AAEnI,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,iBAAiB,CAAC;IACpD,mBAAmB,CAAC,EAAE,uBAAuB,CAAC;CAC/C;AAED,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,GAClC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtD;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,YAAY,EAAE,uBAAuB,CAAA;CAAE,CAAC;AAO1F,qBAAa,sBAAuB,YAAW,OAAO,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IACrF,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,4BAA4B;IAE1E,OAAO,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB;CA4B5D"}
@@ -11,6 +11,13 @@ export class TransitionStateUseCase {
11
11
  const mr = this.trackingGateway.getById(input.projectPath, input.mrId);
12
12
  if (!mr)
13
13
  return { ok: false, reason: 'not-found' };
14
+ if (input.requireCurrentState && mr.state !== input.requireCurrentState) {
15
+ return {
16
+ ok: false,
17
+ reason: 'invalid-current-state',
18
+ currentState: mr.state,
19
+ };
20
+ }
14
21
  if (input.targetState === 'approved' && input.qualityCheck && mr.bypass === null) {
15
22
  const gateResult = input.qualityCheck(mr);
16
23
  if (!gateResult.allowed) {
@@ -1 +1 @@
1
- {"version":3,"file":"transitionState.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/usecases/tracking/transitionState.usecase.ts"],"names":[],"mappings":"AAiBA,MAAM,kBAAkB,GAA0E;IAChG,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,eAA6C;QAA7C,oBAAe,GAAf,eAAe,CAA8B;IAAG,CAAC;IAE9E,OAAO,CAAC,KAA2B;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAEnD,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;YACzD,KAAK,EAAE,KAAK,CAAC,WAAW;YACxB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CACF"}
1
+ {"version":3,"file":"transitionState.usecase.js","sourceRoot":"","sources":["../../../../../src/modules/tracking/usecases/tracking/transitionState.usecase.ts"],"names":[],"mappings":"AAoBA,MAAM,kBAAkB,GAA0E;IAChG,QAAQ,EAAE,YAAY;IACtB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF,MAAM,OAAO,sBAAsB;IACJ;IAA7B,YAA6B,eAA6C;QAA7C,oBAAe,GAAf,eAAe,CAA8B;IAAG,CAAC;IAE9E,OAAO,CAAC,KAA2B;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAEnD,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,mBAAmB,EAAE,CAAC;YACxE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,uBAAuB;gBAC/B,YAAY,EAAE,EAAE,CAAC,KAAK;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,IAAI,KAAK,CAAC,YAAY,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACjF,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACxB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE;YACzD,KAAK,EAAE,KAAK,CAAC,WAAW;YACxB,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * SPEC-182 — Manually mark a pending-fix MR as merged
3
+ *
4
+ * Outer-loop acceptance test (SDD): exercises POST /api/mr-tracking/mark-as-merged
5
+ * through the Fastify plugin wired with the in-memory tracking gateway. Covers
6
+ * the 8 scenarios from the spec.
7
+ *
8
+ * Scenarios from docs/specs/182-mark-pending-fix-as-merged.md:
9
+ * - valid pending-fix → merged: 200 + state="merged" + mergedAt set
10
+ * - pending-approval rejected: 409 + invalid-current-state message
11
+ * - approved rejected: 409 + invalid-current-state message
12
+ * - merged rejected: 409 + invalid-current-state message
13
+ * - unknown MR: 404 + "MR non trouvée"
14
+ * - missing mrId: 400 + "mrId requis"
15
+ * - missing project path: 400 + "Chemin du projet requis"
16
+ * - invalid project path: 400 + "Chemin invalide"
17
+ */
18
+ export {};
19
+ //# sourceMappingURL=182-mark-pending-fix-as-merged.acceptance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"182-mark-pending-fix-as-merged.acceptance.test.d.ts","sourceRoot":"","sources":["../../../src/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * SPEC-182 — Manually mark a pending-fix MR as merged
3
+ *
4
+ * Outer-loop acceptance test (SDD): exercises POST /api/mr-tracking/mark-as-merged
5
+ * through the Fastify plugin wired with the in-memory tracking gateway. Covers
6
+ * the 8 scenarios from the spec.
7
+ *
8
+ * Scenarios from docs/specs/182-mark-pending-fix-as-merged.md:
9
+ * - valid pending-fix → merged: 200 + state="merged" + mergedAt set
10
+ * - pending-approval rejected: 409 + invalid-current-state message
11
+ * - approved rejected: 409 + invalid-current-state message
12
+ * - merged rejected: 409 + invalid-current-state message
13
+ * - unknown MR: 404 + "MR non trouvée"
14
+ * - missing mrId: 400 + "mrId requis"
15
+ * - missing project path: 400 + "Chemin du projet requis"
16
+ * - invalid project path: 400 + "Chemin invalide"
17
+ */
18
+ import Fastify from 'fastify';
19
+ import { beforeEach, describe, expect, it } from 'vitest';
20
+ import { mrTrackingRoutes } from '../../modules/tracking/interface-adapters/controllers/http/mrTracking.routes.js';
21
+ import { InMemoryReviewRequestTrackingGateway } from '../../tests/stubs/reviewRequestTracking.stub.js';
22
+ import { TrackedMrFactory } from '../../tests/factories/trackedMr.factory.js';
23
+ const INVALID_CURRENT_STATE_MESSAGE = 'Seules les MR en correction peuvent être marquées comme mergées';
24
+ async function buildApp(gateway) {
25
+ const app = Fastify();
26
+ await app.register(mrTrackingRoutes, {
27
+ reviewRequestTrackingGateway: gateway,
28
+ getQualityThreshold: () => null,
29
+ });
30
+ return app;
31
+ }
32
+ function seedMr(gateway, projectPath, overrides) {
33
+ gateway.create(projectPath, TrackedMrFactory.create({ id: 'mr-42', ...overrides }));
34
+ }
35
+ describe('Acceptance — SPEC-182: Manually mark a pending-fix MR as merged', () => {
36
+ let gateway;
37
+ const projectPath = '/home/user/proj';
38
+ beforeEach(() => {
39
+ gateway = new InMemoryReviewRequestTrackingGateway();
40
+ });
41
+ describe('Rule: pending-fix MR can be transitioned to merged', () => {
42
+ it('valid pending-fix transition → status "merged" + mergedAt set', async () => {
43
+ seedMr(gateway, projectPath, { state: 'pending-fix' });
44
+ const app = await buildApp(gateway);
45
+ const response = await app.inject({
46
+ method: 'POST',
47
+ url: '/api/mr-tracking/mark-as-merged',
48
+ payload: { mrId: 'mr-42', projectPath },
49
+ });
50
+ expect(response.statusCode).toBe(200);
51
+ const body = response.json();
52
+ expect(body.success).toBe(true);
53
+ expect(body.mrId).toBe('mr-42');
54
+ const updated = gateway.getById(projectPath, 'mr-42');
55
+ expect(updated?.state).toBe('merged');
56
+ expect(updated?.mergedAt).not.toBeNull();
57
+ });
58
+ });
59
+ describe('Rule: transition restricted to pending-fix state', () => {
60
+ it('pending-approval rejected → 409 with invalid-current-state message', async () => {
61
+ seedMr(gateway, projectPath, { state: 'pending-approval' });
62
+ const app = await buildApp(gateway);
63
+ const response = await app.inject({
64
+ method: 'POST',
65
+ url: '/api/mr-tracking/mark-as-merged',
66
+ payload: { mrId: 'mr-42', projectPath },
67
+ });
68
+ expect(response.statusCode).toBe(409);
69
+ const body = response.json();
70
+ expect(body.success).toBe(false);
71
+ expect(body.error).toBe(INVALID_CURRENT_STATE_MESSAGE);
72
+ const untouched = gateway.getById(projectPath, 'mr-42');
73
+ expect(untouched?.state).toBe('pending-approval');
74
+ expect(untouched?.mergedAt).toBeNull();
75
+ });
76
+ it('approved rejected → 409 with invalid-current-state message', async () => {
77
+ seedMr(gateway, projectPath, { state: 'approved' });
78
+ const app = await buildApp(gateway);
79
+ const response = await app.inject({
80
+ method: 'POST',
81
+ url: '/api/mr-tracking/mark-as-merged',
82
+ payload: { mrId: 'mr-42', projectPath },
83
+ });
84
+ expect(response.statusCode).toBe(409);
85
+ const body = response.json();
86
+ expect(body.success).toBe(false);
87
+ expect(body.error).toBe(INVALID_CURRENT_STATE_MESSAGE);
88
+ const untouched = gateway.getById(projectPath, 'mr-42');
89
+ expect(untouched?.state).toBe('approved');
90
+ expect(untouched?.mergedAt).toBeNull();
91
+ });
92
+ it('merged rejected → 409 with invalid-current-state message', async () => {
93
+ seedMr(gateway, projectPath, { state: 'merged', mergedAt: '2026-01-01T00:00:00.000Z' });
94
+ const app = await buildApp(gateway);
95
+ const response = await app.inject({
96
+ method: 'POST',
97
+ url: '/api/mr-tracking/mark-as-merged',
98
+ payload: { mrId: 'mr-42', projectPath },
99
+ });
100
+ expect(response.statusCode).toBe(409);
101
+ const body = response.json();
102
+ expect(body.success).toBe(false);
103
+ expect(body.error).toBe(INVALID_CURRENT_STATE_MESSAGE);
104
+ });
105
+ });
106
+ describe('Rule: action requires a known MR and valid inputs', () => {
107
+ it('unknown MR → 404 with "MR non trouvée"', async () => {
108
+ const app = await buildApp(gateway);
109
+ const response = await app.inject({
110
+ method: 'POST',
111
+ url: '/api/mr-tracking/mark-as-merged',
112
+ payload: { mrId: 'ghost', projectPath },
113
+ });
114
+ expect(response.statusCode).toBe(404);
115
+ const body = response.json();
116
+ expect(body.success).toBe(false);
117
+ expect(body.error).toBe('MR non trouvée');
118
+ });
119
+ it('missing mrId → 400 with "mrId requis"', async () => {
120
+ const app = await buildApp(gateway);
121
+ const response = await app.inject({
122
+ method: 'POST',
123
+ url: '/api/mr-tracking/mark-as-merged',
124
+ payload: { mrId: '', projectPath },
125
+ });
126
+ expect(response.statusCode).toBe(400);
127
+ const body = response.json();
128
+ expect(body.success).toBe(false);
129
+ expect(body.error).toBe('mrId requis');
130
+ });
131
+ it('missing project path → 400 with "Chemin du projet requis"', async () => {
132
+ const app = await buildApp(gateway);
133
+ const response = await app.inject({
134
+ method: 'POST',
135
+ url: '/api/mr-tracking/mark-as-merged',
136
+ payload: { mrId: 'mr-42', projectPath: '' },
137
+ });
138
+ expect(response.statusCode).toBe(400);
139
+ const body = response.json();
140
+ expect(body.success).toBe(false);
141
+ expect(body.error).toBe('Chemin du projet requis');
142
+ });
143
+ it('invalid project path → 400 with "Chemin invalide"', async () => {
144
+ const app = await buildApp(gateway);
145
+ const response = await app.inject({
146
+ method: 'POST',
147
+ url: '/api/mr-tracking/mark-as-merged',
148
+ payload: { mrId: 'mr-42', projectPath: '../etc' },
149
+ });
150
+ expect(response.statusCode).toBe(400);
151
+ const body = response.json();
152
+ expect(body.success).toBe(false);
153
+ expect(body.error).toBe('Chemin invalide');
154
+ });
155
+ });
156
+ });
157
+ //# sourceMappingURL=182-mark-pending-fix-as-merged.acceptance.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"182-mark-pending-fix-as-merged.acceptance.test.js","sourceRoot":"","sources":["../../../src/tests/acceptance/182-mark-pending-fix-as-merged.acceptance.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SPEC-181 — Dashboard Empty-State Restructure & Team-First Layout
3
+ *
4
+ * SDD outer-loop test (per orchestrator instruction — UI-only spec, the
5
+ * dashboard test convention keeps acceptance inside src/tests/units/dashboard/).
6
+ * Structural assertions on src/dashboard/index.html via raw-string + regex,
7
+ * matching the precedent of SPEC-178 acceptance test. No jsdom dependency
8
+ * required (anti-overengineering — same fidelity as SPEC-178).
9
+ *
10
+ * Source of truth: docs/specs/181-dashboard-empty-state-restructure.md.
11
+ */
12
+ export {};
13
+ //# sourceMappingURL=dashboardLayout.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardLayout.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/units/dashboard/dashboardLayout.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * SPEC-181 — Dashboard Empty-State Restructure & Team-First Layout
3
+ *
4
+ * SDD outer-loop test (per orchestrator instruction — UI-only spec, the
5
+ * dashboard test convention keeps acceptance inside src/tests/units/dashboard/).
6
+ * Structural assertions on src/dashboard/index.html via raw-string + regex,
7
+ * matching the precedent of SPEC-178 acceptance test. No jsdom dependency
8
+ * required (anti-overengineering — same fidelity as SPEC-178).
9
+ *
10
+ * Source of truth: docs/specs/181-dashboard-empty-state-restructure.md.
11
+ */
12
+ import { readFileSync } from 'node:fs';
13
+ import { dirname, join } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+ import { beforeEach, describe, expect, it } from 'vitest';
16
+ const __filename = fileURLToPath(import.meta.url);
17
+ const __dirname = dirname(__filename);
18
+ const PROJECT_ROOT = join(__dirname, '..', '..', '..', '..');
19
+ const INDEX_HTML_PATH = join(PROJECT_ROOT, 'src', 'dashboard', 'index.html');
20
+ function extractMainBlock(html) {
21
+ const match = html.match(/<main class="dashboard-main">[\s\S]*?<\/main>/);
22
+ return match?.[0] ?? '';
23
+ }
24
+ function extractSidebarBlock(html) {
25
+ const match = html.match(/<aside class="dashboard-sidebar"[\s\S]*?<\/aside>/);
26
+ return match?.[0] ?? '';
27
+ }
28
+ function extractInlineScript(html) {
29
+ const match = html.match(/<script type="module">[\s\S]*?<\/script>/);
30
+ return match?.[0] ?? '';
31
+ }
32
+ function extractElementSubtree(html, openingTag) {
33
+ const startIndex = html.indexOf(openingTag);
34
+ if (startIndex === -1)
35
+ return '';
36
+ const tagOpenRegex = /<div\b[^>]*>/g;
37
+ const tagCloseRegex = /<\/div>/g;
38
+ tagOpenRegex.lastIndex = startIndex;
39
+ const firstOpen = tagOpenRegex.exec(html);
40
+ if (firstOpen === null || firstOpen.index !== startIndex)
41
+ return '';
42
+ let depth = 1;
43
+ let cursor = startIndex + firstOpen[0].length;
44
+ while (depth > 0) {
45
+ tagOpenRegex.lastIndex = cursor;
46
+ tagCloseRegex.lastIndex = cursor;
47
+ const nextOpen = tagOpenRegex.exec(html);
48
+ const nextClose = tagCloseRegex.exec(html);
49
+ if (nextClose === null)
50
+ return '';
51
+ if (nextOpen !== null && nextOpen.index < nextClose.index) {
52
+ depth += 1;
53
+ cursor = nextOpen.index + nextOpen[0].length;
54
+ }
55
+ else {
56
+ depth -= 1;
57
+ cursor = nextClose.index + nextClose[0].length;
58
+ }
59
+ }
60
+ return html.substring(startIndex, cursor);
61
+ }
62
+ function extractTopLevelChildIds(mainBlock) {
63
+ const childRegex = /^\s{8}<(div|section|main|aside|nav|button|footer|header|article)\b([^>]*)>/gm;
64
+ const ids = [];
65
+ let result = childRegex.exec(mainBlock);
66
+ while (result !== null) {
67
+ const attributes = result[2] ?? '';
68
+ const idMatch = attributes.match(/id="([^"]+)"/);
69
+ const classMatch = attributes.match(/class="([^"]+)"/);
70
+ if (idMatch) {
71
+ ids.push(`#${idMatch[1]}`);
72
+ }
73
+ else if (classMatch) {
74
+ ids.push(`.${classMatch[1].split(/\s+/)[0]}`);
75
+ }
76
+ else {
77
+ ids.push('?');
78
+ }
79
+ result = childRegex.exec(mainBlock);
80
+ }
81
+ return ids;
82
+ }
83
+ describe('SPEC-181 — Dashboard Empty-State Restructure & Team-First Layout', () => {
84
+ let indexHtml;
85
+ let mainBlock;
86
+ let sidebarBlock;
87
+ let inlineScript;
88
+ beforeEach(() => {
89
+ indexHtml = readFileSync(INDEX_HTML_PATH, 'utf-8');
90
+ mainBlock = extractMainBlock(indexHtml);
91
+ sidebarBlock = extractSidebarBlock(indexHtml);
92
+ inlineScript = extractInlineScript(indexHtml);
93
+ });
94
+ describe('main DOM order', () => {
95
+ it('team-section is the first top-level child of <main class="dashboard-main">', () => {
96
+ const childIds = extractTopLevelChildIds(mainBlock);
97
+ expect(childIds[0]).toBe('#team-section');
98
+ });
99
+ it('focus-strip is the second top-level child of <main class="dashboard-main">', () => {
100
+ const childIds = extractTopLevelChildIds(mainBlock);
101
+ expect(childIds[1]).toBe('.focus-strip');
102
+ });
103
+ it('matches the expected top-level child order inside <main>', () => {
104
+ const childIds = extractTopLevelChildIds(mainBlock);
105
+ expect(childIds).toEqual([
106
+ '#team-section',
107
+ '.focus-strip',
108
+ '#overview-section',
109
+ '#data-loading-state',
110
+ '#config-info',
111
+ '#claude-login-section',
112
+ '#git-login-section',
113
+ '#pending-reviews-section',
114
+ '#logs-section',
115
+ '#active-reviews-section',
116
+ '#active-followups-section',
117
+ '#pending-fix-section',
118
+ '#pending-approval-section',
119
+ '#completed-reviews-section',
120
+ '#cleanup-section',
121
+ '.refresh-info',
122
+ ]);
123
+ });
124
+ it('does NOT contain #claude-economics-section inside <main>', () => {
125
+ expect(mainBlock).not.toMatch(/id="claude-economics-section"/);
126
+ });
127
+ it('does NOT contain #stats-section inside <main>', () => {
128
+ expect(mainBlock).not.toMatch(/id="stats-section"/);
129
+ });
130
+ });
131
+ describe('sidebar buttons', () => {
132
+ it('#open-economics-sheet-btn exists inside <aside class="dashboard-sidebar">', () => {
133
+ expect(sidebarBlock).toMatch(/id="open-economics-sheet-btn"/);
134
+ });
135
+ it('#open-economics-sheet-btn has no `hidden` attribute (always visible)', () => {
136
+ const buttonMatch = sidebarBlock.match(/<button[^>]*id="open-economics-sheet-btn"[^>]*>/);
137
+ expect(buttonMatch).not.toBeNull();
138
+ expect(buttonMatch?.[0]).not.toMatch(/\bhidden\b/);
139
+ });
140
+ it('#open-stats-sheet-btn exists inside <aside class="dashboard-sidebar">', () => {
141
+ expect(sidebarBlock).toMatch(/id="open-stats-sheet-btn"/);
142
+ });
143
+ it('#open-stats-sheet-btn is initially disabled and aria-disabled', () => {
144
+ const buttonMatch = sidebarBlock.match(/<button[^>]*id="open-stats-sheet-btn"[^>]*>/);
145
+ expect(buttonMatch).not.toBeNull();
146
+ expect(buttonMatch?.[0]).toMatch(/\bdisabled\b/);
147
+ expect(buttonMatch?.[0]).toMatch(/aria-disabled="true"/);
148
+ });
149
+ });
150
+ describe('economics sheet markup', () => {
151
+ it('declares #economics-sheet-overlay, #economics-sheet, #economics-sheet-content', () => {
152
+ expect(indexHtml).toMatch(/id="economics-sheet-overlay"/);
153
+ expect(indexHtml).toMatch(/id="economics-sheet"/);
154
+ expect(indexHtml).toMatch(/id="economics-sheet-content"/);
155
+ });
156
+ it('preserves inner DOM ids needed by existing fetchers/renderers', () => {
157
+ const sheetBlock = extractElementSubtree(indexHtml, '<div id="economics-sheet"');
158
+ expect(sheetBlock).not.toBe('');
159
+ expect(sheetBlock).toMatch(/id="token-usage-content"/);
160
+ expect(sheetBlock).toMatch(/id="budget-tile"/);
161
+ expect(sheetBlock).toMatch(/id="budget-slider"/);
162
+ expect(sheetBlock).toMatch(/id="budget-slider-value"/);
163
+ expect(sheetBlock).toMatch(/id="budget-slider-submit"/);
164
+ expect(sheetBlock).toMatch(/id="budget-slider-status"/);
165
+ });
166
+ it('wires open and close handlers via onclick attributes', () => {
167
+ expect(indexHtml).toMatch(/id="open-economics-sheet-btn"[^>]*onclick="openEconomicsSheet\(\)"/);
168
+ expect(indexHtml).toMatch(/id="economics-sheet-overlay"[^>]*onclick="closeEconomicsSheet\(\)"/);
169
+ });
170
+ it('contains a sheet-close button inside the economics sheet', () => {
171
+ const sheetBlock = extractElementSubtree(indexHtml, '<div id="economics-sheet"');
172
+ expect(sheetBlock).toMatch(/class="sheet-close"/);
173
+ });
174
+ });
175
+ describe('stats sheet markup', () => {
176
+ it('declares #stats-sheet-overlay, #stats-sheet, #stats-sheet-content', () => {
177
+ expect(indexHtml).toMatch(/id="stats-sheet-overlay"/);
178
+ expect(indexHtml).toMatch(/id="stats-sheet"/);
179
+ expect(indexHtml).toMatch(/id="stats-sheet-content"/);
180
+ });
181
+ it('preserves inner DOM ids needed by existing fetchers/renderers', () => {
182
+ const sheetBlock = extractElementSubtree(indexHtml, '<div id="stats-sheet"');
183
+ expect(sheetBlock).not.toBe('');
184
+ expect(sheetBlock).toMatch(/id="project-stats"/);
185
+ expect(sheetBlock).toMatch(/id="recalculate-btn"/);
186
+ expect(sheetBlock).toMatch(/id="recalculate-label"/);
187
+ expect(sheetBlock).toMatch(/id="backfill-progress"/);
188
+ });
189
+ it('wires open and close handlers via onclick attributes', () => {
190
+ expect(indexHtml).toMatch(/id="open-stats-sheet-btn"[^>]*onclick="openStatsSheet\(\)"/);
191
+ expect(indexHtml).toMatch(/id="stats-sheet-overlay"[^>]*onclick="closeStatsSheet\(\)"/);
192
+ });
193
+ it('contains a sheet-close button inside the stats sheet', () => {
194
+ const sheetBlock = extractElementSubtree(indexHtml, '<div id="stats-sheet"');
195
+ expect(sheetBlock).toMatch(/class="sheet-close"/);
196
+ });
197
+ });
198
+ describe('removed empty-state markup', () => {
199
+ it('#pending-reviews-section is still present but #pending-reviews-empty-state is gone', () => {
200
+ expect(mainBlock).toMatch(/id="pending-reviews-section"/);
201
+ expect(mainBlock).not.toMatch(/id="pending-reviews-empty-state"/);
202
+ });
203
+ it('#active-reviews-section is still present but #i18n-empty-active-reviews placeholder div is gone', () => {
204
+ expect(mainBlock).toMatch(/id="active-reviews-section"/);
205
+ const activeReviewsMatch = mainBlock.match(/<div[^>]*id="active-reviews-section"[\s\S]*?<\/div>\s*<\/div>/);
206
+ expect(activeReviewsMatch).not.toBeNull();
207
+ const activeReviewsBlock = activeReviewsMatch?.[0] ?? '';
208
+ expect(activeReviewsBlock).not.toMatch(/<div[^>]*id="i18n-empty-active-reviews"[^>]*>\s*<\/div>/);
209
+ });
210
+ });
211
+ describe('script wiring', () => {
212
+ it('imports the sectionVisibility helper module', () => {
213
+ expect(inlineScript).toMatch(/from\s+['"]\.\/modules\/sectionVisibility\.js['"]/);
214
+ });
215
+ it('invokes shouldHidePendingReviewsSection and shouldHideActiveReviewsSection in the script body', () => {
216
+ expect(inlineScript).toMatch(/shouldHidePendingReviewsSection\(/);
217
+ expect(inlineScript).toMatch(/shouldHideActiveReviewsSection\(/);
218
+ });
219
+ it('drops the dead-code reference to claude-economics-section from secondarySections', () => {
220
+ const secondaryMatch = inlineScript.match(/const secondarySections\s*=\s*\[[^\]]*\];/);
221
+ expect(secondaryMatch).not.toBeNull();
222
+ expect(secondaryMatch?.[0]).not.toMatch(/'claude-economics-section'/);
223
+ });
224
+ it('no longer declares or exposes toggleStats', () => {
225
+ expect(inlineScript).not.toMatch(/function toggleStats\b/);
226
+ expect(inlineScript).not.toMatch(/window\.toggleStats\s*=/);
227
+ });
228
+ it('no longer references removed empty-state translation lookup ids', () => {
229
+ expect(inlineScript).not.toMatch(/getElementById\(['"]i18n-empty-active-reviews['"]\)/);
230
+ expect(inlineScript).not.toMatch(/getElementById\(['"]i18n-empty-pending-reviews['"]\)/);
231
+ });
232
+ });
233
+ describe('i18n orphan keys', () => {
234
+ let i18nSource;
235
+ beforeEach(() => {
236
+ const I18N_PATH = join(PROJECT_ROOT, 'src', 'dashboard', 'modules', 'i18n.js');
237
+ i18nSource = readFileSync(I18N_PATH, 'utf-8');
238
+ });
239
+ it('drops empty.activeReviews translation key in both locales', () => {
240
+ expect(i18nSource).not.toMatch(/['"]empty\.activeReviews['"]\s*:/);
241
+ });
242
+ it('drops empty.pendingReviews translation key in both locales', () => {
243
+ expect(i18nSource).not.toMatch(/['"]empty\.pendingReviews['"]\s*:/);
244
+ });
245
+ });
246
+ });
247
+ //# sourceMappingURL=dashboardLayout.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboardLayout.test.js","sourceRoot":"","sources":["../../../../src/tests/units/dashboard/dashboardLayout.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sectionVisibility.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sectionVisibility.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/units/dashboard/modules/sectionVisibility.test.ts"],"names":[],"mappings":""}