fix: handle invalid qr share tokens without 500 (#2597)

This commit is contained in:
VIVEK TIWARI
2026-03-11 22:46:17 -04:00
committed by GitHub
parent 1d2c781a6d
commit a5fd814fbc
2 changed files with 18 additions and 1 deletions
@@ -202,6 +202,15 @@ test.describe('PDF Viewer Rendering', () => {
await page.getByRole('button', { name: /Page 2/ }).click();
await expect(page.locator(PDF_PAGE_SELECTOR).first()).toBeVisible({ timeout: 30_000 });
});
test('should not return 500 for invalid QR share token', async ({ page }) => {
const response = await page.request.get('/share/qr_invalid_token_for_regression_check', {
maxRedirects: 0,
});
expect(response.status()).toBe(302);
expect(response.headers().location).toBe('/');
});
});
test.describe('Embed Pages', () => {
@@ -13,7 +13,7 @@ export const getDocumentByAccessToken = async ({ token }: GetDocumentByAccessTok
throw new Error('Missing token');
}
const result = await prisma.envelope.findFirstOrThrow({
const result = await prisma.envelope.findFirst({
where: {
type: EnvelopeType.DOCUMENT,
status: DocumentStatus.COMPLETED,
@@ -56,6 +56,14 @@ export const getDocumentByAccessToken = async ({ token }: GetDocumentByAccessTok
},
});
if (!result) {
return null;
}
if (result.envelopeItems.length === 0) {
throw new Error('Completed envelope has no items');
}
const firstDocumentData = result.envelopeItems[0].documentData;
if (!firstDocumentData) {