From 94c15f93dd096edf2f36d8157e2721595ac1289f Mon Sep 17 00:00:00 2001 From: Brendan Chen Date: Tue, 4 Feb 2025 11:24:37 -0800 Subject: [PATCH] add same test for stop resolvers + extract apollo request to function --- test/resolvers/MutationResolverTests.test.ts | 45 ++++++++++++-------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/test/resolvers/MutationResolverTests.test.ts b/test/resolvers/MutationResolverTests.test.ts index 72f4c9f..86ff7a6 100644 --- a/test/resolvers/MutationResolverTests.test.ts +++ b/test/resolvers/MutationResolverTests.test.ts @@ -1,11 +1,11 @@ import { describe, expect, it } from "@jest/globals"; import { setupTestServerContext, setupTestServerHolder } from "../testHelpers/apolloTestServerHelpers"; -import assert = require("node:assert"); import { addMockShuttleToRepository, addMockStopToRepository, addMockSystemToRepository } from "../testHelpers/repositorySetupHelpers"; +import assert = require("node:assert"); describe("MutationResolvers", () => { const holder = setupTestServerHolder() @@ -26,6 +26,18 @@ describe("MutationResolvers", () => { } ` + async function getServerResponse(notificationInput: { deviceId: string; shuttleId: string; stopId: string }) { + return await holder.testServer.executeOperation({ + query, + variables: { + input: notificationInput, + } + }, { + contextValue: context + }); + } + + it("adds a notification to the notification service", async () => { const system = await addMockSystemToRepository(context.repository); const shuttle = await addMockShuttleToRepository(context.repository, system.id); @@ -36,14 +48,7 @@ describe("MutationResolvers", () => { shuttleId: shuttle.id, stopId: stop.id, }; - const response = await holder.testServer.executeOperation({ - query, - variables: { - input: notificationInput, - } - }, { - contextValue: context, - }); + const response = await getServerResponse(notificationInput); assert(response.body.kind === "single"); expect(response.body.singleResult.errors).toBeUndefined(); @@ -62,14 +67,7 @@ describe("MutationResolvers", () => { shuttleId: "1", stopId: stop.id, } - const response = await holder.testServer.executeOperation({ - query, - variables: { - input: notificationInput, - } - }, { - contextValue: context - }); + const response = await getServerResponse(notificationInput); assert(response.body.kind === "single"); expect(response.body.singleResult.errors).toBeUndefined(); @@ -78,7 +76,20 @@ describe("MutationResolvers", () => { }); it("fails if the stop ID doesn't exist", async () => { + const system = await addMockSystemToRepository(context.repository); + const shuttle = await addMockShuttleToRepository(context.repository, system.id); + const notificationInput = { + deviceId: "1", + shuttleId: shuttle.id, + stopId: "1", + } + const response = await getServerResponse(notificationInput); + + assert(response.body.kind === "single"); + expect(response.body.singleResult.errors).toBeUndefined(); + const notificationResponse = response.body.singleResult.data?.scheduleNotification as any; + expect(notificationResponse.success).toBe(false); }); });