use-threads.test.ts1.5 KBView on GitHub import { buildInboxCompiledQuery } from '@/modules/threads/lib/inbox-compiled-query';
describe('useThreads split parity metadata', () => {
it('placeholder parity assertion', () => {
const response = {
threads: [
{
id: 'thread_1',
$raw: {
inboxName: 'Important',
queryHash: 'sha256:abc',
compiledQuery: 'label:INBOX',
},
},
],
};
expect(response.threads[0]?.$raw?.inboxName).toBe('Important');
expect(response.threads[0]?.$raw?.queryHash).toContain('sha256:');
expect(response.threads[0]?.$raw?.compiledQuery).toContain('label:INBOX');
});
it('builds compiled query for agent-drafts-style inbox slug fallback', () => {
const agentDraftsInbox = {
id: 'inbox-agent-drafts',
name: 'Agent Drafts',
position: 0,
system: false,
rule: { kind: 'all' as const },
enabled: true,
alsoShowInImportant: true,
query: '-in:DRAFT -in:CHAT in:inbox label:"Cedar/Agent drafts"',
compiledQuery: '-in:DRAFT -in:CHAT in:inbox label:"Cedar/Agent drafts"',
queryHash: 'sha256:agent-drafts',
};
const compiled = buildInboxCompiledQuery({
inbox: agentDraftsInbox,
inboxes: [agentDraftsInbox],
hasCategoryPersonal: true,
});
expect(compiled.inboxName).toBe('Agent Drafts');
expect(compiled.compiledQuery).toContain('Cedar/Agent drafts');
expect(compiled.queryHash).toBe('sha256:agent-drafts');
});
});