Skip to content

Commit

Permalink
use rejects modifier instead of try-catch blocks in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
hfxbse committed Mar 25, 2024
1 parent 3dd0d22 commit 1dbb466
Showing 1 changed file with 24 additions and 36 deletions.
60 changes: 24 additions & 36 deletions test/instagram.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand All @@ -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()
Expand All @@ -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")

Expand All @@ -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)
})
})

0 comments on commit 1dbb466

Please sign in to comment.