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 () => { test("if sendMessageAsMember returns error, catch and log error", async () => {
// Arrange // Arrange
webhookHelper.sendMessageAsMember.mockImplementation(() => { webhookHelper.sendMessageAsMember.mockRejectedValue(new Error("error"));
throw Error("error")
});
const message = { const message = {
content: "hello", content: "hello",
author: { author: {
bot: false bot: false
} }
} }
jest.spyOn(global.console, 'error').mockImplementation(() => { jest.spyOn(global.console, 'error').mockImplementation(() => {});
})
// Act // Act
await handleMessageCreate(message); await handleMessageCreate(message);
// Assert // Assert
@@ -242,9 +239,7 @@ describe('bot', () => {
execute: jest.fn() execute: jest.fn()
} }
commands.commandsMap.get = jest.fn().mockReturnValue(command); commands.commandsMap.get = jest.fn().mockReturnValue(command);
command.execute.mockImplementation(() => { command.execute.mockRejectedValue(new Error("error"));
throw Error("error")
});
const message = { const message = {
content: "pf;member test", content: "pf;member test",
author: { author: {

View File

@@ -82,9 +82,7 @@ describe('commands', () => {
test('if parseMemberCommand returns error, log error and reply with error', async () => { test('if parseMemberCommand returns error, log error and reply with error', async () => {
// Arrange // Arrange
memberHelper.parseMemberCommand = jest.fn().mockImplementation(() => { memberHelper.parseMemberCommand = jest.fn().mockRejectedValue(new Error('error'));
throw new Error('error')
});
// Act // Act
await commands.memberCommand(message, args) await commands.memberCommand(message, args)
// Assert // Assert
@@ -167,9 +165,7 @@ describe('commands', () => {
// Arrange // Arrange
const args = [""]; const args = [""];
message.content = 'pf;import' message.content = 'pf;import'
importHelper.pluralKitImport = jest.fn().mockImplementation(() => { importHelper.pluralKitImport = jest.fn().mockRejectedValue(new AggregateError(['error1', 'error2'], 'errors'));
throw new AggregateError(['error1', 'error2'], 'errors')
});
// Act // Act
await commands.importCommand(message, args); await commands.importCommand(message, args);
// Assert // Assert
@@ -185,9 +181,7 @@ describe('commands', () => {
const returnedBuffer = {text: 'bbbb', file: file}; const returnedBuffer = {text: 'bbbb', file: file};
const expected = {content: returnedBuffer.text, files: [{name: 'text.txt', data: returnedBuffer.file}]}; const expected = {content: returnedBuffer.text, files: [{name: 'text.txt', data: returnedBuffer.file}]};
importHelper.pluralKitImport = jest.fn().mockImplementation(() => { importHelper.pluralKitImport = jest.fn().mockRejectedValue(new AggregateError([text, 'error2'], 'errors'));
throw new AggregateError([text, 'error2'], 'errors')
});
messageHelper.returnBufferFromText = jest.fn().mockReturnValue(returnedBuffer); messageHelper.returnBufferFromText = jest.fn().mockReturnValue(returnedBuffer);
// Act // Act
await commands.importCommand(message, args); await commands.importCommand(message, args);
@@ -198,9 +192,7 @@ describe('commands', () => {
test('if pluralKitImport returns one error, reply with error and log it', async () => { test('if pluralKitImport returns one error, reply with error and log it', async () => {
// Arrange // Arrange
importHelper.pluralKitImport = jest.fn().mockImplementation(() => { importHelper.pluralKitImport = jest.fn().mockRejectedValue(new Error('error'));
throw new Error('error');
});
jest.spyOn(global.console, 'error').mockImplementation(() => {}) jest.spyOn(global.console, 'error').mockImplementation(() => {})
// Act // Act
await commands.importCommand(message, args); await commands.importCommand(message, args);

View File

@@ -82,7 +82,7 @@ describe('importHelper', () => {
}) })
test('if addFullMember throws error, catch and return error', async() => { 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)); 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 args = [];
const memberObject = {name: args[1]} const memberObject = {name: args[1]}
jest.spyOn(memberHelper, 'addFullMember').mockResolvedValue(memberObject); jest.spyOn(memberHelper, 'addFullMember').mockResolvedValue(memberObject);
jest.spyOn(memberHelper, 'getMemberInfo').mockImplementation(() => { jest.spyOn(memberHelper, 'getMemberInfo').mockImplementation(() => {throw new Error('getMemberInfo error')});
throw new Error('getMemberInfo error')
});
//Act //Act
await expect(memberHelper.addNewMember(authorId, mockMember.name, args)).rejects.toThrow('getMemberInfo error'); await expect(memberHelper.addNewMember(authorId, mockMember.name, args)).rejects.toThrow('getMemberInfo error');
}) })
@@ -367,9 +365,7 @@ describe('MemberHelper', () => {
// Arrange // Arrange
const args = []; const args = [];
const expected = 'add full member error'; const expected = 'add full member error';
jest.spyOn(memberHelper, 'addFullMember').mockImplementation(() => { jest.spyOn(memberHelper, 'addFullMember').mockRejectedValue(new Error(expected));
throw new Error(expected)
});
//Act //Act
await expect(memberHelper.addNewMember(authorId, mockMember.name, args)).rejects.toThrow(expected) 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 () => { test('if checkProxyExists throws error, call database.member.create with null value', async () => {
// Arrange // Arrange
jest.spyOn(memberHelper, 'checkIfProxyExists').mockImplementation(() => { jest.spyOn(memberHelper, 'checkIfProxyExists').mockRejectedValue(new Error('error'));
throw new Error('error')
});
const expectedMemberArgs = { const expectedMemberArgs = {
name: mockMember.name, name: mockMember.name,
userid: authorId, userid: authorId,
@@ -597,9 +591,7 @@ describe('MemberHelper', () => {
test('if checkImageFormatValidity throws error, call database.member.create with null value', async () => { test('if checkImageFormatValidity throws error, call database.member.create with null value', async () => {
// Arrange // Arrange
utils.checkImageFormatValidity = jest.fn().mockImplementation(() => { utils.checkImageFormatValidity = jest.fn().mockRejectedValue(new Error("error"));
throw new Error("error")
})
const expectedMemberArgs = { const expectedMemberArgs = {
name: mockMember.name, name: mockMember.name,
userid: authorId, userid: authorId,

View File

@@ -32,7 +32,7 @@ describe('utils', () => {
test('throws error if fetch returns error', async() => { test('throws error if fetch returns error', async() => {
// Arrange // Arrange
global.fetch = jest.fn().mockImplementation(() =>{throw Error('error');}); global.fetch = jest.fn().mockRejectedValue(new Error('error'));
// Act & Assert // Act & Assert
await expect(utils.checkImageFormatValidity(attachmentUrl)).rejects.toThrow(`${enums.err.PROPIC_CANNOT_LOAD}: error`); await expect(utils.checkImageFormatValidity(attachmentUrl)).rejects.toThrow(`${enums.err.PROPIC_CANNOT_LOAD}: error`);
}) })

View File

@@ -160,9 +160,7 @@ describe('webhookHelper', () => {
// Arrange // Arrange
message.guildId = '123'; message.guildId = '123';
messageHelper.parseProxyTags.mockResolvedValue(proxyMessage); messageHelper.parseProxyTags.mockResolvedValue(proxyMessage);
jest.spyOn(webhookHelper, 'replaceMessage').mockImplementation(() => { jest.spyOn(webhookHelper, 'replaceMessage').mockRejectedValue(new Error("error"));
throw new Error("error")
});
// Act // Act
await expect(webhookHelper.sendMessageAsMember(client, message)).rejects.toThrow("error"); await expect(webhookHelper.sendMessageAsMember(client, message)).rejects.toThrow("error");
// Assert // Assert