diff --git a/backend/__tests__/dal/blocklist.spec.ts b/backend/__tests__/dal/blocklist.spec.ts index 44deb3eed..1678d5eb9 100644 --- a/backend/__tests__/dal/blocklist.spec.ts +++ b/backend/__tests__/dal/blocklist.spec.ts @@ -21,7 +21,7 @@ describe("BlocklistDal", () => { await BlacklistDal.add({ name, email }); //THEN - expect( + await expect( BlacklistDal.getCollection().findOne({ emailHash: BlacklistDal.hash(email), }) @@ -30,7 +30,7 @@ describe("BlocklistDal", () => { timestamp: now, }); - expect( + await expect( BlacklistDal.getCollection().findOne({ usernameHash: BlacklistDal.hash(name), }) @@ -52,7 +52,7 @@ describe("BlocklistDal", () => { await BlacklistDal.add({ name, email, discordId }); //THEN - expect( + await expect( BlacklistDal.getCollection().findOne({ discordIdHash: BlacklistDal.hash(discordId), }) @@ -75,21 +75,21 @@ describe("BlocklistDal", () => { await BlacklistDal.add({ name, email: email2 }); //THEN - expect( + await expect( BlacklistDal.getCollection() .find({ usernameHash: BlacklistDal.hash(name), }) .toArray() ).resolves.toHaveLength(1); - expect( + await expect( BlacklistDal.getCollection() .find({ emailHash: BlacklistDal.hash(email), }) .toArray() ).resolves.toHaveLength(1); - expect( + await expect( BlacklistDal.getCollection() .find({ emailHash: BlacklistDal.hash(email2), @@ -111,7 +111,7 @@ describe("BlocklistDal", () => { await BlacklistDal.add({ name: name2, email }); //THEN - expect( + await expect( BlacklistDal.getCollection() .find({ emailHash: BlacklistDal.hash(email), @@ -136,7 +136,7 @@ describe("BlocklistDal", () => { //THEN - expect( + await expect( BlacklistDal.getCollection() .find({ discordIdHash: BlacklistDal.hash(discordId), @@ -156,34 +156,34 @@ describe("BlocklistDal", () => { //WHEN / THEN //by name - expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); - expect( + await expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ name: name.toUpperCase() }) ).resolves.toBeTruthy(); - expect( + await expect( BlacklistDal.contains({ name, email: "unknown", discordId: "unknown" }) ).resolves.toBeTruthy(); //by email - expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); - expect( + await expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ email: email.toUpperCase() }) ).resolves.toBeTruthy(); - expect( + await expect( BlacklistDal.contains({ name: "unknown", email, discordId: "unknown" }) ).resolves.toBeTruthy(); //by discordId - expect(BlacklistDal.contains({ discordId })).resolves.toBeTruthy(); - expect( + await expect(BlacklistDal.contains({ discordId })).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ discordId: discordId.toUpperCase() }) ).resolves.toBeTruthy(); - expect( + await expect( BlacklistDal.contains({ name: "unknown", email: "unknown", discordId }) ).resolves.toBeTruthy(); //by name and email and discordId - expect( + await expect( BlacklistDal.contains({ name, email, discordId }) ).resolves.toBeTruthy(); }); @@ -193,12 +193,16 @@ describe("BlocklistDal", () => { await BlacklistDal.add({ name: "test2", email: "test2@example.com" }); //WHEN / THEN - expect(BlacklistDal.contains({ name: "unknown" })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ email: "unknown" })).resolves.toBeFalsy(); - expect( + await expect( + BlacklistDal.contains({ name: "unknown" }) + ).resolves.toBeFalsy(); + await expect( + BlacklistDal.contains({ email: "unknown" }) + ).resolves.toBeFalsy(); + await expect( BlacklistDal.contains({ discordId: "unknown" }) ).resolves.toBeFalsy(); - expect( + await expect( BlacklistDal.contains({ name: "unknown", email: "unknown", @@ -206,7 +210,7 @@ describe("BlocklistDal", () => { }) ).resolves.toBeFalsy(); - expect(BlacklistDal.contains({})).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({})).resolves.toBeFalsy(); }); }); @@ -222,12 +226,14 @@ describe("BlocklistDal", () => { await BlacklistDal.remove({ name }); //THEN - expect(BlacklistDal.contains({ name })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ name })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); //decoy still exists - expect(BlacklistDal.contains({ name: "test" })).resolves.toBeTruthy(); - expect( + await expect( + BlacklistDal.contains({ name: "test" }) + ).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ email: "test@example.com" }) ).resolves.toBeTruthy(); }); @@ -242,12 +248,14 @@ describe("BlocklistDal", () => { await BlacklistDal.remove({ email }); //THEN - expect(BlacklistDal.contains({ email })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ email })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); //decoy still exists - expect(BlacklistDal.contains({ name: "test" })).resolves.toBeTruthy(); - expect( + await expect( + BlacklistDal.contains({ name: "test" }) + ).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ email: "test@example.com" }) ).resolves.toBeTruthy(); }); @@ -267,16 +275,18 @@ describe("BlocklistDal", () => { await BlacklistDal.remove({ discordId }); //THEN - expect(BlacklistDal.contains({ discordId })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); - expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ discordId })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); //decoy still exists - expect(BlacklistDal.contains({ name: "test" })).resolves.toBeTruthy(); - expect( + await expect( + BlacklistDal.contains({ name: "test" }) + ).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ email: "test@example.com" }) ).resolves.toBeTruthy(); - expect( + await expect( BlacklistDal.contains({ discordId: "testDiscordId" }) ).resolves.toBeTruthy(); }); @@ -296,16 +306,18 @@ describe("BlocklistDal", () => { await BlacklistDal.remove({ name, email, discordId }); //THEN - expect(BlacklistDal.contains({ email })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ name })).resolves.toBeFalsy(); - expect(BlacklistDal.contains({ discordId })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ email })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ name })).resolves.toBeFalsy(); + await expect(BlacklistDal.contains({ discordId })).resolves.toBeFalsy(); //decoy still exists - expect(BlacklistDal.contains({ name: "test" })).resolves.toBeTruthy(); - expect( + await expect( + BlacklistDal.contains({ name: "test" }) + ).resolves.toBeTruthy(); + await expect( BlacklistDal.contains({ email: "test@example.com" }) ).resolves.toBeTruthy(); - expect( + await expect( BlacklistDal.contains({ discordId: "testDiscordId" }) ).resolves.toBeTruthy(); }); @@ -322,9 +334,9 @@ describe("BlocklistDal", () => { await BlacklistDal.remove({}); //THEN - expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); - expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); - expect(BlacklistDal.contains({ discordId })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ email })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ name })).resolves.toBeTruthy(); + await expect(BlacklistDal.contains({ discordId })).resolves.toBeTruthy(); }); }); describe("hash", () => { diff --git a/backend/__tests__/dal/preset.spec.ts b/backend/__tests__/dal/preset.spec.ts index 0042ffb37..b97862a56 100644 --- a/backend/__tests__/dal/preset.spec.ts +++ b/backend/__tests__/dal/preset.spec.ts @@ -62,7 +62,7 @@ describe("PresetDal", () => { } //WHEN / THEN - expect(() => + await expect(() => PresetDal.addPreset(uid, { name: "max", config: {} }) ).rejects.toThrowError("Too many presets"); }); @@ -349,7 +349,7 @@ describe("PresetDal", () => { describe("removePreset", () => { it("should fail if preset is unknown", async () => { - expect(() => + await expect(() => PresetDal.removePreset("uid", new ObjectId().toHexString()) ).rejects.toThrowError("Preset not found"); }); @@ -412,7 +412,7 @@ describe("PresetDal", () => { ).presetId; //WHEN - expect(() => + await expect(() => PresetDal.removePreset(decoyUid, first) ).rejects.toThrowError("Preset not found"); diff --git a/backend/__tests__/dal/user.spec.ts b/backend/__tests__/dal/user.spec.ts index 47602fea2..6db91a35f 100644 --- a/backend/__tests__/dal/user.spec.ts +++ b/backend/__tests__/dal/user.spec.ts @@ -1129,7 +1129,7 @@ describe("UserDal", () => { }); describe("getPartialUser", () => { it("should throw for unknown user", async () => { - expect(async () => + await expect(async () => UserDAL.getPartialUser("1234", "stack", []) ).rejects.toThrowError("User not found\nStack: stack"); }); @@ -1164,7 +1164,7 @@ describe("UserDal", () => { }); describe("updateEmail", () => { it("throws for nonexisting user", async () => { - expect(async () => + await expect(async () => UserDAL.updateEmail("unknown", "test@example.com") ).rejects.toThrowError("User not found\nStack: update email"); }); @@ -1182,7 +1182,7 @@ describe("UserDal", () => { }); describe("resetPb", () => { it("throws for nonexisting user", async () => { - expect(async () => UserDAL.resetPb("unknown")).rejects.toThrowError( + await expect(async () => UserDAL.resetPb("unknown")).rejects.toThrowError( "User not found\nStack: reset pb" ); }); @@ -1208,7 +1208,7 @@ describe("UserDal", () => { }); describe("linkDiscord", () => { it("throws for nonexisting user", async () => { - expect(async () => + await expect(async () => UserDAL.linkDiscord("unknown", "", "") ).rejects.toThrowError("User not found\nStack: link discord"); }); @@ -1230,9 +1230,9 @@ describe("UserDal", () => { }); describe("unlinkDiscord", () => { it("throws for nonexisting user", async () => { - expect(async () => UserDAL.unlinkDiscord("unknown")).rejects.toThrowError( - "User not found\nStack: unlink discord" - ); + await expect(async () => + UserDAL.unlinkDiscord("unknown") + ).rejects.toThrowError("User not found\nStack: unlink discord"); }); it("should update", async () => { //given diff --git a/backend/__tests__/middlewares/auth.spec.ts b/backend/__tests__/middlewares/auth.spec.ts index 654f7bba5..b303ab6ae 100644 --- a/backend/__tests__/middlewares/auth.spec.ts +++ b/backend/__tests__/middlewares/auth.spec.ts @@ -15,6 +15,7 @@ import { } from "@monkeytype/contracts/schemas/api"; import * as Prometheus from "../../src/utils/prometheus"; import { TsRestRequestWithContext } from "../../src/api/types"; +import { error } from "console"; const mockDecodedToken: DecodedIdToken = { uid: "123456789", @@ -95,19 +96,20 @@ describe("middlewares/auth", () => { it("should fail if token is not fresh", async () => { //GIVEN Date.now = vi.fn(() => 60001); - - //WHEN - expect(() => - authenticate({}, { requireFreshToken: true }) - ).rejects.toThrowError( + const expectedError = new Error( "Unauthorized\nStack: This endpoint requires a fresh token" ); + //WHEN + await expect(() => + authenticate({}, { requireFreshToken: true }) + ).rejects.toThrowError(expectedError); + //THEN - expect(nextFunction).not.toHaveBeenCalled(); + expect(nextFunction).toHaveBeenLastCalledWith(expectedError); expect(prometheusIncrementAuthMock).not.toHaveBeenCalled(); - expect(prometheusRecordAuthTimeMock).not.toHaveBeenCalled(); + expect(prometheusRecordAuthTimeMock).toHaveBeenCalledOnce(); }); it("should allow the request if token is fresh", async () => { //GIVEN diff --git a/frontend/__tests__/test/british-english.spec.ts b/frontend/__tests__/test/british-english.spec.ts index f17e5d284..9586e4b23 100644 --- a/frontend/__tests__/test/british-english.spec.ts +++ b/frontend/__tests__/test/british-english.spec.ts @@ -5,33 +5,35 @@ describe("british-english", () => { describe("replace", () => { beforeEach(() => (Config.mode = "time")); - it("should not replace words with no rule", () => { - expect(replace("test", "")).resolves.toEqual("test"); - expect(replace("Test", "")).resolves.toEqual("Test"); + it("should not replace words with no rule", async () => { + await expect(replace("test", "")).resolves.toEqual("test"); + await expect(replace("Test", "")).resolves.toEqual("Test"); }); - it("should replace words", () => { - expect(replace("math", "")).resolves.toEqual("maths"); - expect(replace("Math", "")).resolves.toEqual("Maths"); + it("should replace words", async () => { + await expect(replace("math", "")).resolves.toEqual("maths"); + await expect(replace("Math", "")).resolves.toEqual("Maths"); }); - it("should replace words with non-word characters around", () => { - expect(replace(" :math-. ", "")).resolves.toEqual(" :maths-. "); - expect(replace(" :Math-. ", "")).resolves.toEqual(" :Maths-. "); + it("should replace words with non-word characters around", async () => { + await expect(replace(" :math-. ", "")).resolves.toEqual(" :maths-. "); + await expect(replace(" :Math-. ", "")).resolves.toEqual(" :Maths-. "); }); - it("should not replace in quote mode if previousWord matches excepted words", () => { + it("should not replace in quote mode if previousWord matches excepted words", async () => { //GIVEN Config.mode = "quote"; //WHEN/THEN - expect(replace("tire", "will")).resolves.toEqual("tire"); - expect(replace("tire", "")).resolves.toEqual("tyre"); + await expect(replace("tire", "will")).resolves.toEqual("tire"); + await expect(replace("tire", "")).resolves.toEqual("tyre"); }); - it("should replace hyphenated words", () => { - expect(replace("cream-colored", "")).resolves.toEqual("cream-coloured"); - expect(replace("armor-flavoring", "")).resolves.toEqual( + it("should replace hyphenated words", async () => { + await expect(replace("cream-colored", "")).resolves.toEqual( + "cream-coloured" + ); + await expect(replace("armor-flavoring", "")).resolves.toEqual( "armour-flavouring" ); });