test(documents): expand documents/[id]/edit page coverage
Adds doc.title, originalFilename fallback, cancel link href, form.error pass-through. 4 new tests covering ~6 branches. Refs #496. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,4 +56,39 @@ describe('documents/[id]/edit page', () => {
|
|||||||
);
|
);
|
||||||
expect(deleteBtn).toBeDefined();
|
expect(deleteBtn).toBeDefined();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('uses doc.title in the document title when set', async () => {
|
||||||
|
render(DocumentEditPage, { props: { data: baseData(), form: undefined } });
|
||||||
|
|
||||||
|
await new Promise((r) => setTimeout(r, 30));
|
||||||
|
expect(document.title).toContain('Brief an Helene');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('falls back to originalFilename when title is empty', async () => {
|
||||||
|
render(DocumentEditPage, {
|
||||||
|
props: {
|
||||||
|
data: baseData({ document: { ...baseDoc, title: '', originalFilename: 'fallback.pdf' } }),
|
||||||
|
form: undefined
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await new Promise((r) => setTimeout(r, 30));
|
||||||
|
expect(document.title).toContain('fallback.pdf');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('renders the cancel link to the document detail page', async () => {
|
||||||
|
render(DocumentEditPage, { props: { data: baseData(), form: undefined } });
|
||||||
|
|
||||||
|
const link = document.querySelector('a[href="/documents/d1"]');
|
||||||
|
expect(link).not.toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('passes form.error to DocumentEditLayout when form is set', async () => {
|
||||||
|
render(DocumentEditPage, {
|
||||||
|
props: { data: baseData(), form: { error: 'Save failed' } }
|
||||||
|
});
|
||||||
|
|
||||||
|
// Layout shows the form error in a banner — at minimum, error text is in the DOM
|
||||||
|
expect(document.body.textContent).toContain('Save failed');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user