From 0f489b344263467af38b49547f87a4efb7a083f5 Mon Sep 17 00:00:00 2001 From: Aditya Rai <118007662+AdityaRaimec22@users.noreply.github.com> Date: Mon, 1 Apr 2024 23:35:47 +0530 Subject: [PATCH] solved event creation problem (#2031) * solved event creation problem * new commit * new commit * new commit * new commit * fixed tests * new commit * new commit * new commit --------- Co-authored-by: Peter Harrison <16875803+palisadoes@users.noreply.github.com> --- src/resolvers/Mutation/createEvent.ts | 4 +- tests/resolvers/Mutation/createEvent.spec.ts | 40 ++++++++++++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/resolvers/Mutation/createEvent.ts b/src/resolvers/Mutation/createEvent.ts index 625d654c20b..add192b3146 100644 --- a/src/resolvers/Mutation/createEvent.ts +++ b/src/resolvers/Mutation/createEvent.ts @@ -64,7 +64,9 @@ export const createEvent: MutationResolvers["createEvent"] = async ( } const organization = await Organization.findOne({ - _id: args.data?.organizationId, + _id: args.data.organizationId.startsWith("id=") + ? args.data.organizationId.toString().substring(3) + : args.data.organizationId, }).lean(); // Checks whether organization exists. diff --git a/tests/resolvers/Mutation/createEvent.spec.ts b/tests/resolvers/Mutation/createEvent.spec.ts index 4704f0f5b15..79324bf35e5 100644 --- a/tests/resolvers/Mutation/createEvent.spec.ts +++ b/tests/resolvers/Mutation/createEvent.spec.ts @@ -164,6 +164,46 @@ describe("resolvers -> Mutation -> createEvent", () => { } }); + it(`throws NotFoundError if no organization exists with _id === id=args.data.organizationId`, async () => { + try { + const args: MutationCreateEventArgs = { + data: { + organizationId: "id=" + new Types.ObjectId().toString(), + allDay: false, + description: "", + endDate: "", + endTime: "", + isPublic: false, + isRegisterable: false, + latitude: 1, + longitude: 1, + location: "", + recurring: false, + startDate: "", + startTime: "", + title: "", + images: null, + }, + }; + + const context = { + userId: testUser?.id, + }; + + const { createEvent: createEventResolverError } = await import( + "../../../src/resolvers/Mutation/createEvent" + ); + + await createEventResolverError?.({}, args, context); + } catch (error: unknown) { + if (error instanceof NotFoundError) { + expect(error.message).toEqual(ORGANIZATION_NOT_FOUND_ERROR.MESSAGE); + } else { + fail(`Expected NotFoundError, but got ${error}`); + } + } + }); + it(`throws UnauthorizedError if user with _id === context.userId is neither the creator nor a member of the organization with _id === args.organizationId`, async () => { try {