test(documents): more documents/[id] page coverage with full data shapes
Document with all metadata populated (sender, receivers, tags, location, scriptType, trainingLabels, geschichten, inferredRelationship, canBlogWrite, canWrite); URL-driven transcribe mode rendering. 2 new tests covering ~10 branches from prop-driven conditionals. Refs #496. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -249,4 +249,54 @@ describe('documents/[id] page', () => {
|
|||||||
})
|
})
|
||||||
).not.toThrow();
|
).not.toThrow();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('renders without throwing with all metadata populated', async () => {
|
||||||
|
mockPage.url = new URL('http://localhost/documents/d-meta');
|
||||||
|
expect(() =>
|
||||||
|
render(DocumentDetailPage, {
|
||||||
|
props: {
|
||||||
|
data: baseData({
|
||||||
|
document: {
|
||||||
|
...baseDoc,
|
||||||
|
id: 'd-meta',
|
||||||
|
sender: { id: 's1', displayName: 'Anna' },
|
||||||
|
receivers: [
|
||||||
|
{ id: 'r1', displayName: 'Bert' },
|
||||||
|
{ id: 'r2', displayName: 'Carl' }
|
||||||
|
],
|
||||||
|
tags: [
|
||||||
|
{ id: 't1', name: 'Familie' },
|
||||||
|
{ id: 't2', name: 'Reise' }
|
||||||
|
],
|
||||||
|
location: 'Berlin',
|
||||||
|
scriptType: 'KURRENT',
|
||||||
|
trainingLabels: ['KURRENT_RECOGNITION']
|
||||||
|
},
|
||||||
|
user: { id: 'u1', firstName: 'Anna' },
|
||||||
|
geschichten: [{ id: 'g1', title: 'Story', publishedAt: null }],
|
||||||
|
inferredRelationship: { labelFromA: 'Vater', labelFromB: 'Tochter' },
|
||||||
|
canBlogWrite: true,
|
||||||
|
canWrite: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
).not.toThrow();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders the transcribe-mode forced via query string', async () => {
|
||||||
|
mockPage.url = new URL('http://localhost/documents/d-task?task=transcribe');
|
||||||
|
render(DocumentDetailPage, {
|
||||||
|
props: {
|
||||||
|
data: baseData({
|
||||||
|
document: { ...baseDoc, id: 'd-task' },
|
||||||
|
canWrite: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await new Promise((r) => setTimeout(r, 80));
|
||||||
|
// DocumentTopBar should mount; transcribeMode flag was set by the URL param
|
||||||
|
const main = document.body.firstElementChild;
|
||||||
|
expect(main).not.toBeNull();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user