test(cv): qualify preview exit across the autosave boundary

This commit is contained in:
cesnimda
2026-10-10 22:06:18 +02:00
parent b5bda1caa5
commit 5d9997f601
2 changed files with 21 additions and 8 deletions
@@ -742,14 +742,21 @@ test('[P5-11 PRES-C06 C10 E08] returning from preview focuses the existing edito
renderAt(3);
await openContentTab();
const headline = screen.getByLabelText('Headline override');
fireEvent.change(headline, { target: { value: 'Retained preview draft' } });
const editor = screen.getByRole('region', { name: 'CV editing controls' });
editor.scrollIntoView = jest.fn();
fireEvent.click(screen.getByRole('button', { name: 'Go to editor' }));
await waitFor(() => expect(editor).toHaveFocus());
expect(headline).toHaveValue('Retained preview draft');
expect(screen.getByText('Unsaved')).toBeInTheDocument();
expect(mockedApi.put).not.toHaveBeenCalled();
jest.useFakeTimers();
try {
fireEvent.change(headline, { target: { value: 'Retained preview draft' } });
const editor = screen.getByRole('region', { name: 'CV editing controls' });
editor.scrollIntoView = jest.fn();
fireEvent.click(screen.getByRole('button', { name: 'Go to editor' }));
await waitFor(() => expect(editor).toHaveFocus());
expect(headline).toHaveValue('Retained preview draft');
expect(screen.getByText('Unsaved')).toBeInTheDocument();
expect(mockedApi.put).not.toHaveBeenCalled();
await act(async () => { jest.advanceTimersByTime(800); });
expect(mockedApi.put).toHaveBeenCalledWith('/cv/variants/3', expect.objectContaining({ expectedVersion: 4, settings: expect.objectContaining({ headline: 'Retained preview draft' }) }));
expect(screen.getByText('Saved')).toBeInTheDocument();
expect(headline).toHaveValue('Retained preview draft');
} finally { jest.useRealTimers(); }
});
async function reviewDocumentSuggestion(result: string) {