From 1dbb466438ebbd8335fa270d84e1c0fc7ca62d07 Mon Sep 17 00:00:00 2001 From: Fabian Haas Date: Mon, 25 Mar 2024 18:40:52 +0100 Subject: [PATCH] use rejects modifier instead of try-catch blocks in tests --- test/instagram.test.ts | 60 +++++++++++++++++------------------------- 1 file changed, 24 insertions(+), 36 deletions(-) diff --git a/test/instagram.test.ts b/test/instagram.test.ts index d1ab78d..d760b25 100644 --- a/test/instagram.test.ts +++ b/test/instagram.test.ts @@ -199,7 +199,7 @@ describe("Login request handler", () => { }) describe("Throws on failed login", () => { - test.each([undefined, "Received error description"])("Message: %s", async (message) => { + test.each([undefined, "Received error description"])("Message: %s", (message) => { const headers = new Headers() headers.set("Content-Type", "application/json; charset=utf-8") @@ -209,36 +209,28 @@ describe("Login request handler", () => { headers } as Response)) - try { - await login({ - user: "user", - password: encryptedPassword, - verification - }) - } catch (e) { - expect(e.message).toStrictEqual(message ?? expect.any(String)) - } - - expect.assertions(1) + return expect(login({ + user: "user", + password: encryptedPassword, + verification + })).rejects.toStrictEqual(expect.objectContaining({message: message ?? expect.any(String)})) }) }) - test("Throws if not authenticated", async () => { + test("Throws if not authenticated", () => { jest.spyOn(global, "fetch").mockImplementation(() => Promise.resolve({ ok: true, json: () => Promise.resolve({authenticated: false}), } as Response)) - try { - await login({user: "user", password: encryptedPassword, verification}) - } catch (e) { - expect(e.message).toStrictEqual(expect.any(String)) - } - - expect.assertions(1) + return expect(login({ + user: "user", + password: encryptedPassword, + verification + })).rejects.toStrictEqual(expect.objectContaining({message: expect.any(String)})) }) - test("Throws on failed request", async () => { + test("Throws on failed request", () => { const message = "Error message" const headers = new Headers() @@ -251,16 +243,14 @@ describe("Login request handler", () => { } as Response)) - try { - await login({user: "user", password: encryptedPassword, verification}) - } catch (e) { - expect(e.message).toStrictEqual(message) - } - - expect.assertions(1) + return expect(login({ + user: "user", + password: encryptedPassword, + verification + })).rejects.toStrictEqual(expect.objectContaining({message})) }) - test("Throws if 2FA is required", async () => { + test("Throws if 2FA is required", () => { const headers = new Headers() headers.set("Content-Type", "application/json; charset=utf-8") @@ -270,12 +260,10 @@ describe("Login request handler", () => { headers } as Response)) - try { - await login({user: "user", password: encryptedPassword, verification}) - } catch (e) { - expect(e).toBeInstanceOf(TwoFactorRequired) - } - - expect.assertions(1) + return expect(login({ + user: "user", + password: encryptedPassword, + verification + })).rejects.toBeInstanceOf(TwoFactorRequired) }) })