From d226238e14476b3ed87eea907d85600c22d339da Mon Sep 17 00:00:00 2001 From: Aster Fialla Date: Tue, 24 Feb 2026 21:08:04 -0500 Subject: [PATCH] adjusted tests to properly use mockRejectedValue for async rejections --- tests/bot.test.js | 11 +++-------- tests/commands.test.js | 16 ++++------------ tests/helpers/importHelper.test.js | 2 +- tests/helpers/memberHelper.test.js | 16 ++++------------ tests/helpers/utils.test.js | 2 +- tests/helpers/webhookHelper.test.js | 4 +--- 6 files changed, 14 insertions(+), 37 deletions(-) diff --git a/tests/bot.test.js b/tests/bot.test.js index 4723a16..4ac041a 100644 --- a/tests/bot.test.js +++ b/tests/bot.test.js @@ -105,17 +105,14 @@ describe('bot', () => { test("if sendMessageAsMember returns error, catch and log error", async () => { // Arrange - webhookHelper.sendMessageAsMember.mockImplementation(() => { - throw Error("error") - }); + webhookHelper.sendMessageAsMember.mockRejectedValue(new Error("error")); const message = { content: "hello", author: { bot: false } } - jest.spyOn(global.console, 'error').mockImplementation(() => { - }) + jest.spyOn(global.console, 'error').mockImplementation(() => {}); // Act await handleMessageCreate(message); // Assert @@ -242,9 +239,7 @@ describe('bot', () => { execute: jest.fn() } commands.commandsMap.get = jest.fn().mockReturnValue(command); - command.execute.mockImplementation(() => { - throw Error("error") - }); + command.execute.mockRejectedValue(new Error("error")); const message = { content: "pf;member test", author: { diff --git a/tests/commands.test.js b/tests/commands.test.js index a35bdb1..8fce4d6 100644 --- a/tests/commands.test.js +++ b/tests/commands.test.js @@ -82,9 +82,7 @@ describe('commands', () => { test('if parseMemberCommand returns error, log error and reply with error', async () => { // Arrange - memberHelper.parseMemberCommand = jest.fn().mockImplementation(() => { - throw new Error('error') - }); + memberHelper.parseMemberCommand = jest.fn().mockRejectedValue(new Error('error')); // Act await commands.memberCommand(message, args) // Assert @@ -167,9 +165,7 @@ describe('commands', () => { // Arrange const args = [""]; message.content = 'pf;import' - importHelper.pluralKitImport = jest.fn().mockImplementation(() => { - throw new AggregateError(['error1', 'error2'], 'errors') - }); + importHelper.pluralKitImport = jest.fn().mockRejectedValue(new AggregateError(['error1', 'error2'], 'errors')); // Act await commands.importCommand(message, args); // Assert @@ -185,9 +181,7 @@ describe('commands', () => { const returnedBuffer = {text: 'bbbb', file: file}; const expected = {content: returnedBuffer.text, files: [{name: 'text.txt', data: returnedBuffer.file}]}; - importHelper.pluralKitImport = jest.fn().mockImplementation(() => { - throw new AggregateError([text, 'error2'], 'errors') - }); + importHelper.pluralKitImport = jest.fn().mockRejectedValue(new AggregateError([text, 'error2'], 'errors')); messageHelper.returnBufferFromText = jest.fn().mockReturnValue(returnedBuffer); // Act await commands.importCommand(message, args); @@ -198,9 +192,7 @@ describe('commands', () => { test('if pluralKitImport returns one error, reply with error and log it', async () => { // Arrange - importHelper.pluralKitImport = jest.fn().mockImplementation(() => { - throw new Error('error'); - }); + importHelper.pluralKitImport = jest.fn().mockRejectedValue(new Error('error')); jest.spyOn(global.console, 'error').mockImplementation(() => {}) // Act await commands.importCommand(message, args); diff --git a/tests/helpers/importHelper.test.js b/tests/helpers/importHelper.test.js index 634d350..3db2c01 100644 --- a/tests/helpers/importHelper.test.js +++ b/tests/helpers/importHelper.test.js @@ -82,7 +82,7 @@ describe('importHelper', () => { }) test('if addFullMember throws error, catch and return error', async() => { - memberHelper.addFullMember.mockImplementation(() => {new Error('error')}); + memberHelper.addFullMember.mockRejectedValue(new Error('error')); await expect(importHelper.pluralKitImport(authorId, attachmentUrl)).rejects.toThrow(([new Error('error')], enums.err.NO_MEMBERS_IMPORTED)); }) diff --git a/tests/helpers/memberHelper.test.js b/tests/helpers/memberHelper.test.js index 00bfe24..88afa60 100644 --- a/tests/helpers/memberHelper.test.js +++ b/tests/helpers/memberHelper.test.js @@ -356,9 +356,7 @@ describe('MemberHelper', () => { const args = []; const memberObject = {name: args[1]} jest.spyOn(memberHelper, 'addFullMember').mockResolvedValue(memberObject); - jest.spyOn(memberHelper, 'getMemberInfo').mockImplementation(() => { - throw new Error('getMemberInfo error') - }); + jest.spyOn(memberHelper, 'getMemberInfo').mockImplementation(() => {throw new Error('getMemberInfo error')}); //Act await expect(memberHelper.addNewMember(authorId, mockMember.name, args)).rejects.toThrow('getMemberInfo error'); }) @@ -367,9 +365,7 @@ describe('MemberHelper', () => { // Arrange const args = []; const expected = 'add full member error'; - jest.spyOn(memberHelper, 'addFullMember').mockImplementation(() => { - throw new Error(expected) - }); + jest.spyOn(memberHelper, 'addFullMember').mockRejectedValue(new Error(expected)); //Act await expect(memberHelper.addNewMember(authorId, mockMember.name, args)).rejects.toThrow(expected) @@ -550,9 +546,7 @@ describe('MemberHelper', () => { test('if checkProxyExists throws error, call database.member.create with null value', async () => { // Arrange - jest.spyOn(memberHelper, 'checkIfProxyExists').mockImplementation(() => { - throw new Error('error') - }); + jest.spyOn(memberHelper, 'checkIfProxyExists').mockRejectedValue(new Error('error')); const expectedMemberArgs = { name: mockMember.name, userid: authorId, @@ -597,9 +591,7 @@ describe('MemberHelper', () => { test('if checkImageFormatValidity throws error, call database.member.create with null value', async () => { // Arrange - utils.checkImageFormatValidity = jest.fn().mockImplementation(() => { - throw new Error("error") - }) + utils.checkImageFormatValidity = jest.fn().mockRejectedValue(new Error("error")); const expectedMemberArgs = { name: mockMember.name, userid: authorId, diff --git a/tests/helpers/utils.test.js b/tests/helpers/utils.test.js index e6f5b7c..1e8f7c5 100644 --- a/tests/helpers/utils.test.js +++ b/tests/helpers/utils.test.js @@ -32,7 +32,7 @@ describe('utils', () => { test('throws error if fetch returns error', async() => { // Arrange - global.fetch = jest.fn().mockImplementation(() =>{throw Error('error');}); + global.fetch = jest.fn().mockRejectedValue(new Error('error')); // Act & Assert await expect(utils.checkImageFormatValidity(attachmentUrl)).rejects.toThrow(`${enums.err.PROPIC_CANNOT_LOAD}: error`); }) diff --git a/tests/helpers/webhookHelper.test.js b/tests/helpers/webhookHelper.test.js index ed9c1a7..9d10e6e 100644 --- a/tests/helpers/webhookHelper.test.js +++ b/tests/helpers/webhookHelper.test.js @@ -160,9 +160,7 @@ describe('webhookHelper', () => { // Arrange message.guildId = '123'; messageHelper.parseProxyTags.mockResolvedValue(proxyMessage); - jest.spyOn(webhookHelper, 'replaceMessage').mockImplementation(() => { - throw new Error("error") - }); + jest.spyOn(webhookHelper, 'replaceMessage').mockRejectedValue(new Error("error")); // Act await expect(webhookHelper.sendMessageAsMember(client, message)).rejects.toThrow("error"); // Assert