收口 Makelore 客户端变更
This commit is contained in:
@@ -2,6 +2,7 @@ import { describe, expect, it } from 'vitest';
|
||||
import {
|
||||
completeProjectSession,
|
||||
createProjectConversationState,
|
||||
markProjectSessionRead,
|
||||
normalizeProjectConversationState,
|
||||
patchProjectSessionMetadata,
|
||||
removeProjectSessionMetadata,
|
||||
@@ -44,6 +45,18 @@ describe('project conversation metadata', () => {
|
||||
expect(state.sessions[0]).toMatchObject({ unreadCount: 1, updatedAt: '2026-07-30T00:05:00.000Z' });
|
||||
});
|
||||
|
||||
it('marks a session read without making navigation look like new activity', () => {
|
||||
let state = createProjectConversationState();
|
||||
state = upsertProjectSessionMetadata(state, 'ses-a', 'agent-a', '2026-07-30T00:01:00.000Z');
|
||||
state = markProjectSessionRead(state, 'ses-a', '2026-07-30T00:04:00.000Z');
|
||||
|
||||
expect(state.sessions[0]).toMatchObject({
|
||||
unreadCount: 0,
|
||||
updatedAt: '2026-07-30T00:01:00.000Z',
|
||||
});
|
||||
expect(state.updatedAt).toBe('2026-07-30T00:04:00.000Z');
|
||||
});
|
||||
|
||||
it('normalizes malformed persisted records and deduplicates by stable session id', () => {
|
||||
const normalized = normalizeProjectConversationState({
|
||||
schemaVersion: 1,
|
||||
|
||||
Reference in New Issue
Block a user