@actuate-media/cms-admin 0.12.1 → 0.14.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 (51) hide show
  1. package/dist/__tests__/components/comment-side-panel.test.js +93 -0
  2. package/dist/__tests__/components/comment-side-panel.test.js.map +1 -1
  3. package/dist/__tests__/components/mentionable-textarea.test.d.ts +2 -0
  4. package/dist/__tests__/components/mentionable-textarea.test.d.ts.map +1 -0
  5. package/dist/__tests__/components/mentionable-textarea.test.js +190 -0
  6. package/dist/__tests__/components/mentionable-textarea.test.js.map +1 -0
  7. package/dist/__tests__/components/notification-bell.test.js +146 -0
  8. package/dist/__tests__/components/notification-bell.test.js.map +1 -1
  9. package/dist/__tests__/lib/mention-picker.test.d.ts +2 -0
  10. package/dist/__tests__/lib/mention-picker.test.d.ts.map +1 -0
  11. package/dist/__tests__/lib/mention-picker.test.js +122 -0
  12. package/dist/__tests__/lib/mention-picker.test.js.map +1 -0
  13. package/dist/__tests__/lib/notifications-client.test.js +129 -1
  14. package/dist/__tests__/lib/notifications-client.test.js.map +1 -1
  15. package/dist/actuate-admin.css +1 -1
  16. package/dist/components/CommentSidePanel.d.ts +9 -1
  17. package/dist/components/CommentSidePanel.d.ts.map +1 -1
  18. package/dist/components/CommentSidePanel.js +8 -7
  19. package/dist/components/CommentSidePanel.js.map +1 -1
  20. package/dist/components/MentionableTextarea.d.ts +68 -0
  21. package/dist/components/MentionableTextarea.d.ts.map +1 -0
  22. package/dist/components/MentionableTextarea.js +181 -0
  23. package/dist/components/MentionableTextarea.js.map +1 -0
  24. package/dist/components/NotificationBell.d.ts +30 -9
  25. package/dist/components/NotificationBell.d.ts.map +1 -1
  26. package/dist/components/NotificationBell.js +57 -5
  27. package/dist/components/NotificationBell.js.map +1 -1
  28. package/dist/lib/api.d.ts +8 -0
  29. package/dist/lib/api.d.ts.map +1 -1
  30. package/dist/lib/api.js +10 -0
  31. package/dist/lib/api.js.map +1 -1
  32. package/dist/lib/mention-picker.d.ts +69 -0
  33. package/dist/lib/mention-picker.d.ts.map +1 -0
  34. package/dist/lib/mention-picker.js +138 -0
  35. package/dist/lib/mention-picker.js.map +1 -0
  36. package/dist/lib/notifications-client.d.ts +53 -0
  37. package/dist/lib/notifications-client.d.ts.map +1 -1
  38. package/dist/lib/notifications-client.js +89 -1
  39. package/dist/lib/notifications-client.js.map +1 -1
  40. package/package.json +2 -2
  41. package/src/__tests__/components/comment-side-panel.test.tsx +134 -0
  42. package/src/__tests__/components/mentionable-textarea.test.tsx +226 -0
  43. package/src/__tests__/components/notification-bell.test.tsx +167 -1
  44. package/src/__tests__/lib/mention-picker.test.ts +145 -0
  45. package/src/__tests__/lib/notifications-client.test.ts +145 -1
  46. package/src/components/CommentSidePanel.tsx +37 -14
  47. package/src/components/MentionableTextarea.tsx +328 -0
  48. package/src/components/NotificationBell.tsx +84 -12
  49. package/src/lib/api.ts +11 -0
  50. package/src/lib/mention-picker.ts +180 -0
  51. package/src/lib/notifications-client.ts +147 -1
@@ -288,4 +288,97 @@ describe('CommentSidePanel — reply, edit, resolve, delete', () => {
288
288
  expect(onActive).toHaveBeenCalledWith('c1');
289
289
  });
290
290
  });
291
+ // ---------------------------------------------------------------------------
292
+ // Mention picker integration — Phase 7 carry-over
293
+ // ---------------------------------------------------------------------------
294
+ describe('CommentSidePanel — mention picker integration', () => {
295
+ /**
296
+ * Drive a `<textarea>` the same way the picker test does. The
297
+ * comment panel's three composer surfaces (new thread, reply,
298
+ * edit) are all `<MentionableTextarea>` now, so this helper works
299
+ * uniformly across them.
300
+ */
301
+ async function typeAt(el, value, caret = value.length) {
302
+ await act(async () => {
303
+ el.focus();
304
+ const setter = Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype, 'value')?.set;
305
+ if (setter)
306
+ setter.call(el, value);
307
+ else
308
+ el.value = value;
309
+ el.setSelectionRange(caret, caret);
310
+ el.dispatchEvent(new Event('input', { bubbles: true }));
311
+ });
312
+ }
313
+ function fakeMentionSearch() {
314
+ return vi.fn(async (q) => {
315
+ const all = [
316
+ { id: 'u_alice', name: 'Alice Anderson', email: 'alice@example.com' },
317
+ { id: 'u_bob', name: 'Bob Brown', email: 'bob@example.com' },
318
+ ];
319
+ const ql = q.toLowerCase();
320
+ return all.filter((u) => u.name.toLowerCase().includes(ql) || u.email.toLowerCase().includes(ql));
321
+ });
322
+ }
323
+ it('opens the mention picker from the new-thread composer and submits @<userId>', async () => {
324
+ const fake = createFakeApi();
325
+ const mentionSearch = fakeMentionSearch();
326
+ render(_jsx(CommentSidePanel, { documentId: "doc-1", currentUserId: "current", api: fake.api, mentionSearch: mentionSearch }));
327
+ await waitFor(() => expect(screen.getByText('No comments yet.')).toBeTruthy());
328
+ const composer = screen.getByTestId('comment-composer');
329
+ await typeAt(composer, '@ali');
330
+ await waitFor(() => expect(screen.getByTestId('comment-composer-picker')).toBeTruthy());
331
+ await act(async () => {
332
+ fireEvent.mouseDown(screen.getByTestId('comment-composer-picker-row-u_alice'));
333
+ });
334
+ expect(composer.value).toBe('@u_alice ');
335
+ // Continue typing then submit — the resulting comment body must
336
+ // carry the `@<userId>` token so `extractMentionedUserIds` picks
337
+ // it up server-side.
338
+ await typeAt(composer, '@u_alice please review');
339
+ await act(async () => {
340
+ fireEvent.click(screen.getByTestId('comment-submit'));
341
+ });
342
+ expect(fake.api.create).toHaveBeenCalledWith(expect.objectContaining({ body: '@u_alice please review' }));
343
+ });
344
+ it('opens the mention picker from a reply input and inserts @<userId>', async () => {
345
+ const fake = createFakeApi();
346
+ fake.rows.push(comment({ id: 'root', body: 'root' }));
347
+ const mentionSearch = fakeMentionSearch();
348
+ render(_jsx(CommentSidePanel, { documentId: "doc-1", currentUserId: "current", api: fake.api, mentionSearch: mentionSearch }));
349
+ await waitFor(() => expect(screen.getByTestId('comment-thread-root')).toBeTruthy());
350
+ const reply = screen.getByTestId('reply-input-root');
351
+ await typeAt(reply, '@bo');
352
+ await waitFor(() => expect(screen.getByTestId('reply-input-root-picker')).toBeTruthy());
353
+ fireEvent.keyDown(reply, { key: 'Enter' });
354
+ await waitFor(() => expect(reply.value).toBe('@u_bob '));
355
+ });
356
+ it('opens the mention picker from the edit-textarea while editing a comment', async () => {
357
+ const fake = createFakeApi();
358
+ fake.rows.push(comment({ id: 'c1', userId: 'current', body: 'before' }));
359
+ const mentionSearch = fakeMentionSearch();
360
+ render(_jsx(CommentSidePanel, { documentId: "doc-1", currentUserId: "current", api: fake.api, mentionSearch: mentionSearch }));
361
+ await waitFor(() => expect(screen.getByTestId('comment-thread-c1')).toBeTruthy());
362
+ fireEvent.click(screen.getByTestId('edit-c1'));
363
+ const edit = screen.getByTestId('edit-textarea-c1');
364
+ await typeAt(edit, '@al');
365
+ await waitFor(() => expect(screen.getByTestId('edit-textarea-c1-picker')).toBeTruthy());
366
+ await act(async () => {
367
+ fireEvent.mouseDown(screen.getByTestId('edit-textarea-c1-picker-row-u_alice'));
368
+ });
369
+ expect(edit.value).toBe('@u_alice ');
370
+ });
371
+ it('escape closes the picker without committing a selection', async () => {
372
+ const fake = createFakeApi();
373
+ const mentionSearch = fakeMentionSearch();
374
+ render(_jsx(CommentSidePanel, { documentId: "doc-1", currentUserId: "current", api: fake.api, mentionSearch: mentionSearch }));
375
+ await waitFor(() => expect(screen.getByText('No comments yet.')).toBeTruthy());
376
+ const composer = screen.getByTestId('comment-composer');
377
+ await typeAt(composer, '@al');
378
+ await waitFor(() => expect(screen.getByTestId('comment-composer-picker')).toBeTruthy());
379
+ fireEvent.keyDown(composer, { key: 'Escape' });
380
+ expect(screen.queryByTestId('comment-composer-picker')).toBeNull();
381
+ expect(composer.value).toBe('@al');
382
+ });
383
+ });
291
384
  //# sourceMappingURL=comment-side-panel.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"comment-side-panel.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/comment-side-panel.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comment-side-panel.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/comment-side-panel.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mentionable-textarea.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentionable-textarea.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/components/mentionable-textarea.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,190 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ // @vitest-environment happy-dom
3
+ import { describe, expect, it, vi } from 'vitest';
4
+ import { useState } from 'react';
5
+ import { act, fireEvent, render, screen, waitFor } from '@testing-library/react';
6
+ import { MentionableTextarea } from '../../components/MentionableTextarea.js';
7
+ /**
8
+ * Mount the textarea against a state-managing host so we exercise the
9
+ * controlled-value contract. Returning the live `value` lets each
10
+ * test inspect what the parent ends up with after a selection.
11
+ */
12
+ function Host({ initialValue = '', search, testid = 'ta', }) {
13
+ const [value, setValue] = useState(initialValue);
14
+ return (_jsxs(_Fragment, { children: [_jsx(MentionableTextarea, { value: value, onChange: setValue, search: search, "data-testid": testid }), _jsx("output", { "data-testid": "value", children: value })] }));
15
+ }
16
+ function fakeSearch(rows) {
17
+ return vi.fn(async (q) => {
18
+ const ql = q.toLowerCase();
19
+ return rows.filter((u) => u.name.toLowerCase().includes(ql) || u.email.toLowerCase().includes(ql));
20
+ });
21
+ }
22
+ const ROWS = [
23
+ { id: 'u_alice', name: 'Alice Anderson', email: 'alice@example.com' },
24
+ { id: 'u_bob', name: 'Bob Brown', email: 'bob@example.com' },
25
+ { id: 'u_carol', name: 'Carol Chen', email: 'carol@example.com' },
26
+ ];
27
+ async function typeAt(testid, value, caret = value.length) {
28
+ const ta = screen.getByTestId(testid);
29
+ await act(async () => {
30
+ // Manually drive the textarea: testing-library's
31
+ // `fireEvent.change` resets `selectionStart` to 0 in happy-dom,
32
+ // which would defeat the mention picker (caret 0 → no mention).
33
+ // We bypass React's value-tracker the same way testing-library
34
+ // does, then set the caret BEFORE dispatching `input` so the
35
+ // React handler sees the correct selection.
36
+ ta.focus();
37
+ const setter = Object.getOwnPropertyDescriptor(HTMLTextAreaElement.prototype, 'value')?.set;
38
+ if (setter)
39
+ setter.call(ta, value);
40
+ else
41
+ ta.value = value;
42
+ ta.setSelectionRange(caret, caret);
43
+ ta.dispatchEvent(new Event('input', { bubbles: true }));
44
+ });
45
+ }
46
+ describe('MentionableTextarea — picker dropdown', () => {
47
+ it('does not show the picker before @ is typed', async () => {
48
+ const search = fakeSearch(ROWS);
49
+ render(_jsx(Host, { search: search }));
50
+ await typeAt('ta', 'hello world');
51
+ expect(screen.queryByTestId('ta-picker')).toBeNull();
52
+ });
53
+ it('opens the picker the instant @ is typed and shows the empty state', async () => {
54
+ const search = fakeSearch(ROWS);
55
+ render(_jsx(Host, { search: search }));
56
+ await typeAt('ta', '@');
57
+ await waitFor(() => expect(screen.getByTestId('ta-picker')).toBeTruthy());
58
+ });
59
+ it('populates the dropdown with users that match the query', async () => {
60
+ const search = fakeSearch(ROWS);
61
+ render(_jsx(Host, { search: search }));
62
+ await typeAt('ta', '@ali');
63
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_alice')).toBeTruthy());
64
+ // Bob/Carol should NOT match `ali`.
65
+ expect(screen.queryByTestId('ta-picker-row-u_bob')).toBeNull();
66
+ });
67
+ it('shows "No matches" when the query has no hits', async () => {
68
+ const search = fakeSearch(ROWS);
69
+ render(_jsx(Host, { search: search }));
70
+ await typeAt('ta', '@zzzz');
71
+ await waitFor(() => expect(screen.getByText(/No matches/i)).toBeTruthy());
72
+ });
73
+ it('closes the picker on Escape without inserting anything', async () => {
74
+ const search = fakeSearch(ROWS);
75
+ render(_jsx(Host, { search: search }));
76
+ await typeAt('ta', '@al');
77
+ await waitFor(() => expect(screen.getByTestId('ta-picker')).toBeTruthy());
78
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'Escape' });
79
+ expect(screen.queryByTestId('ta-picker')).toBeNull();
80
+ expect(screen.getByTestId('value').textContent).toBe('@al');
81
+ });
82
+ it('inserts @<userId> + trailing space when a row is clicked', async () => {
83
+ const search = fakeSearch(ROWS);
84
+ render(_jsx(Host, { search: search }));
85
+ await typeAt('ta', '@ali');
86
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_alice')).toBeTruthy());
87
+ await act(async () => {
88
+ // We use mousedown intentionally (the component listens for
89
+ // mousedown to avoid losing focus before commit).
90
+ fireEvent.mouseDown(screen.getByTestId('ta-picker-row-u_alice'));
91
+ });
92
+ expect(screen.getByTestId('value').textContent).toBe('@u_alice ');
93
+ expect(screen.queryByTestId('ta-picker')).toBeNull();
94
+ });
95
+ it('Enter commits the highlighted row', async () => {
96
+ const search = fakeSearch(ROWS);
97
+ render(_jsx(Host, { search: search }));
98
+ await typeAt('ta', '@b');
99
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_bob')).toBeTruthy());
100
+ await act(async () => {
101
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'Enter' });
102
+ });
103
+ expect(screen.getByTestId('value').textContent).toBe('@u_bob ');
104
+ });
105
+ it('ArrowDown then Enter commits the second result', async () => {
106
+ const search = fakeSearch(ROWS);
107
+ render(_jsx(Host, { search: search }));
108
+ // Query 'e' hits Alice/Bob/Carol's emails — three matches.
109
+ await typeAt('ta', '@e');
110
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_alice')).toBeTruthy());
111
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'ArrowDown' });
112
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'ArrowDown' });
113
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'ArrowUp' }); // back to row 2
114
+ await act(async () => {
115
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'Enter' });
116
+ });
117
+ // Highlight after Down/Down/Up: 0 → 1 → 2 → 1. Row index 1 should
118
+ // be Bob (alphabetised by name? Actually fakeSearch returns in
119
+ // ROWS order — Alice, Bob, Carol). So commit = u_bob.
120
+ expect(screen.getByTestId('value').textContent).toBe('@u_bob ');
121
+ });
122
+ it('keyboard does NOT swallow Enter when the picker is closed', async () => {
123
+ const search = fakeSearch(ROWS);
124
+ const onKeyDown = vi.fn();
125
+ const Wrapper = () => {
126
+ const [v, setV] = useState('');
127
+ return (_jsx(MentionableTextarea, { value: v, onChange: setV, search: search, onKeyDown: onKeyDown, "data-testid": "ta" }));
128
+ };
129
+ render(_jsx(Wrapper, {}));
130
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'Enter' });
131
+ expect(onKeyDown).toHaveBeenCalledTimes(1);
132
+ });
133
+ it('does NOT commit a stale row when Enter fires before a new query resolves (PR #159 review)', async () => {
134
+ // Regression for PR #159 Copilot finding: typing `@a`, getting
135
+ // Alice in the dropdown, then quickly typing `@bo` and hitting
136
+ // Enter before the `@bo` query resolves used to commit Alice
137
+ // (from the previous query) instead of doing nothing or
138
+ // committing Bob. The fix clears `users` on every new query so
139
+ // Enter has no row to commit until the new results land.
140
+ let resolveSlow = () => undefined;
141
+ const search = vi.fn((q) => {
142
+ if (q === 'bo') {
143
+ return new Promise((resolve) => {
144
+ resolveSlow = resolve;
145
+ });
146
+ }
147
+ return Promise.resolve(ROWS.filter((u) => u.name.toLowerCase().includes(q.toLowerCase())));
148
+ });
149
+ render(_jsx(Host, { search: search }));
150
+ await typeAt('ta', '@a');
151
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_alice')).toBeTruthy());
152
+ // Now type the new query that hangs. Enter should NOT commit.
153
+ await typeAt('ta', '@bo');
154
+ fireEvent.keyDown(screen.getByTestId('ta'), { key: 'Enter' });
155
+ // Value should still be `@bo` — no token was inserted.
156
+ expect(screen.getByTestId('value').textContent).toBe('@bo');
157
+ // Resolve the hung query and confirm Bob is then committable.
158
+ await act(async () => {
159
+ resolveSlow(ROWS.filter((u) => u.name.toLowerCase().includes('bo')));
160
+ });
161
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_bob')).toBeTruthy());
162
+ });
163
+ it('drops stale responses when typing quickly (race protection)', async () => {
164
+ let resolveSlow = () => undefined;
165
+ const search = vi.fn((q) => {
166
+ if (q === 'a') {
167
+ return new Promise((resolve) => {
168
+ resolveSlow = resolve;
169
+ });
170
+ }
171
+ // Fast path for `ali`.
172
+ return Promise.resolve(ROWS.filter((u) => u.name.toLowerCase().includes(q.toLowerCase())));
173
+ });
174
+ render(_jsx(Host, { search: search }));
175
+ // Trigger the slow request.
176
+ await typeAt('ta', '@a');
177
+ // Trigger the fast request which will resolve first.
178
+ await typeAt('ta', '@ali');
179
+ await waitFor(() => expect(screen.getByTestId('ta-picker-row-u_alice')).toBeTruthy());
180
+ // Now resolve the older request with the wrong rows — should NOT
181
+ // appear in the dropdown.
182
+ await act(async () => {
183
+ resolveSlow(ROWS);
184
+ });
185
+ // Carol should still be filtered out (the fast `ali` query is
186
+ // what won the race).
187
+ expect(screen.queryByTestId('ta-picker-row-u_carol')).toBeNull();
188
+ });
189
+ });
190
+ //# sourceMappingURL=mentionable-textarea.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentionable-textarea.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/mentionable-textarea.test.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACjD,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAG7E;;;;GAIG;AACH,SAAS,IAAI,CAAC,EACZ,YAAY,GAAG,EAAE,EACjB,MAAM,EACN,MAAM,GAAG,IAAI,GAKd;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;IAChD,OAAO,CACL,8BACE,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAe,MAAM,GAAI,EAC9F,gCAAoB,OAAO,YAAE,KAAK,GAAU,IAC3C,CACJ,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,IAAmB;IACrC,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAS,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC/E,CAAA;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,IAAI,GAAkB;IAC1B,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,mBAAmB,EAAE;IACrE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,iBAAiB,EAAE;IAC5D,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE;CAClE,CAAA;AAED,KAAK,UAAU,MAAM,CAAC,MAAc,EAAE,KAAa,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM;IACvE,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAwB,CAAA;IAC5D,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;QACnB,iDAAiD;QACjD,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,6DAA6D;QAC7D,4CAA4C;QAC5C,EAAE,CAAC,KAAK,EAAE,CAAA;QACV,MAAM,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,CAAA;QAC3F,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;;YAC7B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAA;QACrB,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAClC,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QACjC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACvB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1B,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,oCAAoC;QACpC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAChE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3B,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACzE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC9D,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;QACpD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7D,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1B,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,4DAA4D;YAC5D,kDAAkD;YAClD,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAA;QAClE,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACjE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IACtD,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACnF,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,2DAA2D;QAC3D,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAA;QACjE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAA;QACjE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAA,CAAC,gBAAgB;QAChF,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;QACF,kEAAkE;QAClE,+DAA+D;QAC/D,sDAAsD;QACtD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjE,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;QACzB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;YAC9B,OAAO,CACL,KAAC,mBAAmB,IAClB,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,iBACR,IAAI,GAChB,CACH,CAAA;QACH,CAAC,CAAA;QACD,MAAM,CAAC,KAAC,OAAO,KAAG,CAAC,CAAA;QACnB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7D,MAAM,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,+DAA+D;QAC/D,+DAA+D;QAC/D,6DAA6D;QAC7D,wDAAwD;QACxD,+DAA+D;QAC/D,yDAAyD;QACzD,IAAI,WAAW,GAAkC,GAAG,EAAE,CAAC,SAAS,CAAA;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;oBAC5C,WAAW,GAAG,OAAO,CAAA;gBACvB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5F,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,8DAA8D;QAC9D,MAAM,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACzB,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA;QAC7D,uDAAuD;QACvD,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3D,8DAA8D;QAC9D,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACtE,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;IACrF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,IAAI,WAAW,GAAkC,GAAG,EAAE,CAAC,SAAS,CAAA;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE;YACjC,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACd,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;oBAC5C,WAAW,GAAG,OAAO,CAAA;gBACvB,CAAC,CAAC,CAAA;YACJ,CAAC;YACD,uBAAuB;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAA;QAC5F,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,KAAC,IAAI,IAAC,MAAM,EAAE,MAAM,GAAI,CAAC,CAAA;QAChC,4BAA4B;QAC5B,MAAM,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACxB,qDAAqD;QACrD,MAAM,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAC1B,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;QACrF,iEAAiE;QACjE,0BAA0B;QAC1B,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QACF,8DAA8D;QAC9D,sBAAsB;QACtB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAClE,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -197,4 +197,150 @@ describe('NotificationBell — dropdown', () => {
197
197
  await waitFor(() => expect(onError).toHaveBeenCalledWith('CSRF'));
198
198
  });
199
199
  });
200
+ // ---------------------------------------------------------------------------
201
+ // SSE push channel (Phase 7) — verify the bell wires up subscribe(),
202
+ // processes incoming notifications, and tears down on unmount.
203
+ // ---------------------------------------------------------------------------
204
+ describe('NotificationBell — SSE push', () => {
205
+ function withSubscribe(api) {
206
+ let captured;
207
+ let closed = false;
208
+ const handle = {
209
+ close: () => {
210
+ closed = true;
211
+ },
212
+ };
213
+ const subscribe = vi.fn((opts) => {
214
+ captured = opts;
215
+ return handle;
216
+ });
217
+ return {
218
+ api: { ...api, subscribe },
219
+ push: (n) => captured?.onNotification(n),
220
+ pushError: (e) => captured?.onError?.(e),
221
+ isClosed: () => closed,
222
+ };
223
+ }
224
+ it('subscribes on mount and bumps the badge when a new notification arrives', async () => {
225
+ const fake = createFakeApi();
226
+ const wired = withSubscribe(fake.api);
227
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0 }));
228
+ await waitFor(() => expect(fake.api.unread).toHaveBeenCalled());
229
+ await act(async () => {
230
+ wired.push(row({ id: 'sse-1' }));
231
+ });
232
+ await waitFor(() => expect(screen.getByTestId('bell-badge').textContent).toBe('1'));
233
+ });
234
+ it('does not double-count a notification that arrives via both SSE and REST', async () => {
235
+ const fake = createFakeApi();
236
+ const wired = withSubscribe(fake.api);
237
+ fake.setRows([row({ id: 'race' })]);
238
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0 }));
239
+ // Open the dropdown so the row is in `items` from the REST list.
240
+ await waitFor(() => expect(screen.getByTestId('bell-badge').textContent).toBe('1'));
241
+ fireEvent.click(screen.getByTestId('bell-button'));
242
+ await waitFor(() => expect(screen.getByTestId('bell-row-race')).toBeTruthy());
243
+ // Now push the same row via SSE — must NOT add a duplicate or
244
+ // bump the badge above 1.
245
+ await act(async () => {
246
+ wired.push(row({ id: 'race' }));
247
+ });
248
+ expect(screen.getAllByTestId('bell-row-race')).toHaveLength(1);
249
+ expect(screen.getByTestId('bell-badge').textContent).toBe('1');
250
+ });
251
+ it('prepends new pushed rows to the open dropdown', async () => {
252
+ const fake = createFakeApi();
253
+ const wired = withSubscribe(fake.api);
254
+ fake.setRows([row({ id: 'old' })]);
255
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0 }));
256
+ await waitFor(() => expect(screen.getByTestId('bell-badge').textContent).toBe('1'));
257
+ fireEvent.click(screen.getByTestId('bell-button'));
258
+ await waitFor(() => expect(screen.getByTestId('bell-row-old')).toBeTruthy());
259
+ await act(async () => {
260
+ wired.push(row({ id: 'fresh' }));
261
+ });
262
+ const rows = screen.getAllByTestId(/^bell-row-/);
263
+ expect(rows[0].getAttribute('data-testid')).toBe('bell-row-fresh');
264
+ });
265
+ it('does NOT bump the badge when the pushed notification is already read', async () => {
266
+ const fake = createFakeApi();
267
+ const wired = withSubscribe(fake.api);
268
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0 }));
269
+ await waitFor(() => expect(fake.api.unread).toHaveBeenCalled());
270
+ await act(async () => {
271
+ wired.push(row({ id: 'already-read', readAt: '2026-01-02T00:00:00.000Z' }));
272
+ });
273
+ // Already-read notifications still appear in the list when the
274
+ // user opens the dropdown with includeRead=true, but they must
275
+ // NOT register a fresh unread bump.
276
+ expect(screen.queryByTestId('bell-badge')).toBeNull();
277
+ });
278
+ it('closes the SSE subscription when the bell unmounts', async () => {
279
+ const fake = createFakeApi();
280
+ const wired = withSubscribe(fake.api);
281
+ const { unmount } = render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0 }));
282
+ await waitFor(() => expect(fake.api.unread).toHaveBeenCalled());
283
+ unmount();
284
+ expect(wired.isClosed()).toBe(true);
285
+ });
286
+ it('does not surface transient SSE errors via onError (poll loop handles convergence)', async () => {
287
+ const fake = createFakeApi();
288
+ const wired = withSubscribe(fake.api);
289
+ const onError = vi.fn();
290
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0, onError: onError }));
291
+ await waitFor(() => expect(fake.api.unread).toHaveBeenCalled());
292
+ await act(async () => {
293
+ wired.pushError(new Event('error'));
294
+ });
295
+ // Deliberately quiet — see NotificationBell SSE handler comment.
296
+ expect(onError).not.toHaveBeenCalled();
297
+ });
298
+ it('mark-all-read failure does not drop SSE rows that arrived mid-flight', async () => {
299
+ const fake = createFakeApi();
300
+ const wired = withSubscribe(fake.api);
301
+ fake.setRows([row({ id: 'before' })]);
302
+ // Hold the markAllRead promise so we can interleave an SSE push.
303
+ let resolveMark = () => undefined;
304
+ wired.api.markAllRead.mockImplementationOnce(() => new Promise((resolve) => {
305
+ resolveMark = resolve;
306
+ }));
307
+ const onError = vi.fn();
308
+ render(_jsx(NotificationBell, { api: wired.api, pollIntervalMs: 0, onError: onError }));
309
+ await waitFor(() => expect(screen.getByTestId('bell-badge').textContent).toBe('1'));
310
+ fireEvent.click(screen.getByTestId('bell-button'));
311
+ await waitFor(() => expect(screen.getByTestId('bell-row-before')).toBeTruthy());
312
+ // Click mark-all — handler optimistically marks 'before' read,
313
+ // but the API promise is still pending.
314
+ await act(async () => {
315
+ fireEvent.click(screen.getByTestId('bell-mark-all'));
316
+ });
317
+ // While in flight, a fresh notification arrives via SSE.
318
+ await act(async () => {
319
+ wired.push(row({ id: 'mid-flight' }));
320
+ });
321
+ // Now resolve the API with a failure.
322
+ await act(async () => {
323
+ resolveMark({ ok: false, error: 'server', status: 500 });
324
+ // flush promise chain
325
+ await Promise.resolve();
326
+ });
327
+ expect(onError).toHaveBeenCalledWith('server');
328
+ // The original row was rolled back to unread...
329
+ expect(screen.getByTestId('bell-row-before').getAttribute('data-read')).toBe('false');
330
+ // ...and the SSE arrival is still present (not dropped by the
331
+ // legacy snapshot-replace rollback).
332
+ expect(screen.getByTestId('bell-row-mid-flight')).toBeTruthy();
333
+ });
334
+ it('still mounts cleanly when api.subscribe is undefined (no SSE support)', async () => {
335
+ const fake = createFakeApi();
336
+ // Strip the `subscribe` member entirely — defaultApi has it,
337
+ // but consumer-provided test APIs may not.
338
+ const apiWithoutSubscribe = { ...fake.api };
339
+ delete apiWithoutSubscribe.subscribe;
340
+ render(_jsx(NotificationBell, { api: apiWithoutSubscribe, pollIntervalMs: 0 }));
341
+ await waitFor(() => expect(fake.api.unread).toHaveBeenCalled());
342
+ // No crash, badge from unread() shows nothing, no items.
343
+ expect(screen.queryByTestId('bell-badge')).toBeNull();
344
+ });
345
+ });
200
346
  //# sourceMappingURL=notification-bell.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"notification-bell.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/notification-bell.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notification-bell.test.js","sourceRoot":"","sources":["../../../src/__tests__/components/notification-bell.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mention-picker.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mention-picker.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/lib/mention-picker.test.ts"],"names":[],"mappings":""}