diff --git a/jam-ui/src/store/features/__tests__/sessionChatSlice.test.js b/jam-ui/src/store/features/__tests__/sessionChatSlice.test.js index e3e8d8662..7d79e7f98 100644 --- a/jam-ui/src/store/features/__tests__/sessionChatSlice.test.js +++ b/jam-ui/src/store/features/__tests__/sessionChatSlice.test.js @@ -1012,3 +1012,92 @@ describe('sessionChat integration', () => { expect(state.messagesByChannel['session-abc']).toHaveLength(1); }); }); + +describe('sessionChat selectors', () => { + let mockState; + + beforeEach(() => { + mockState = { + sessionChat: { + messagesByChannel: { + 'session-abc': [ + { id: 'msg-1', message: 'Hello', createdAt: '2026-01-26T12:00:00Z' }, + { id: 'msg-2', message: 'World', createdAt: '2026-01-26T12:01:00Z' } + ], + 'global': [ + { id: 'msg-3', message: 'Global msg', createdAt: '2026-01-26T12:02:00Z' } + ] + }, + activeChannel: 'session-abc', + unreadCounts: { + 'session-abc': 0, + 'global': 5, + 'session-xyz': 3 + }, + isWindowOpen: true, + fetchStatus: { + 'session-abc': 'succeeded', + 'global': 'loading' + }, + sendStatus: 'idle', + sendError: null + } + }; + }); + + describe('selectChatMessages', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectUnreadCount', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectTotalUnreadCount', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectIsChatWindowOpen', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectActiveChannel', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectFetchStatus', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectSendStatus', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); + + describe('selectSendError', () => { + test('should fail - selector not implemented yet', () => { + // RED phase: selector doesn't exist yet + expect(true).toBe(false); + }); + }); +});