From 60460da4f92e5d8175eb22c0b91f96c15475e838 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Fri, 15 Sep 2023 12:29:57 +0200 Subject: [PATCH] Error handling --- .../utilities/rowProcessor/bbReferenceProcessor.ts | 13 ++++++++++--- .../rowProcessor/tests/bbReferenceProcessor.spec.ts | 5 +++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/server/src/utilities/rowProcessor/bbReferenceProcessor.ts b/packages/server/src/utilities/rowProcessor/bbReferenceProcessor.ts index 7e78eb9693..a9a4e5fddf 100644 --- a/packages/server/src/utilities/rowProcessor/bbReferenceProcessor.ts +++ b/packages/server/src/utilities/rowProcessor/bbReferenceProcessor.ts @@ -20,9 +20,16 @@ export async function processInputBBReferences( } for (const id of result) { - const user = await cache.user.getUser(id) - if (!user) { - throw new InvalidBBRefError(id, FieldSubtype.USER) + try { + const user = await cache.user.getUser(id) + if (!user) { + throw new InvalidBBRefError(id, FieldSubtype.USER) + } + } catch (err: any) { + if (err != null && err.status === 404 && err.error === "not_found") { + throw new InvalidBBRefError(id, FieldSubtype.USER) + } + throw err } } break diff --git a/packages/server/src/utilities/rowProcessor/tests/bbReferenceProcessor.spec.ts b/packages/server/src/utilities/rowProcessor/tests/bbReferenceProcessor.spec.ts index efc9805ef3..748bc7efb6 100644 --- a/packages/server/src/utilities/rowProcessor/tests/bbReferenceProcessor.spec.ts +++ b/packages/server/src/utilities/rowProcessor/tests/bbReferenceProcessor.spec.ts @@ -43,6 +43,11 @@ describe("bbReferenceProcessor", () => { it("throws an error given an invalid id", async () => { const userId = generator.guid() + mockedCacheGetUser.mockRejectedValue({ + status: 404, + error: "not_found", + }) + await expect( processInputBBReferences(userId, FieldSubtype.USER) ).rejects.toThrowError(new InvalidBBRefError(userId, FieldSubtype.USER))