adjusted tests to properly use mockRejectedValue for async rejections

This commit is contained in:
Aster Fialla
2026-02-24 21:08:04 -05:00
parent 5050f98e8f
commit d226238e14
6 changed files with 14 additions and 37 deletions

View File

@@ -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: {

View File

@@ -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);

View File

@@ -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));
})

View File

@@ -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,

View File

@@ -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`);
})

View File

@@ -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