updating tests

This commit is contained in:
Aster Fialla
2026-03-01 17:17:15 -05:00
parent 54c87b9313
commit e8cd592aee
4 changed files with 73 additions and 79 deletions

View File

@@ -5,7 +5,7 @@ const {commands} = require("./commands.js");
const {webhookHelper} = require("./helpers/webhookHelper.js"); const {webhookHelper} = require("./helpers/webhookHelper.js");
const env = require('dotenv'); const env = require('dotenv');
const {utils} = require("./helpers/utils.js"); const {utils} = require("./helpers/utils.js");
const {AppDataSource} = require("../database/data-source"); const { AppDataSource } = require("../database/data-source");
env.config(); env.config();

View File

@@ -205,7 +205,7 @@ memberHelper.addNewMember = async function (authorId, memberName, values, attach
const propic = values[2] ?? attachmentUrl; const propic = values[2] ?? attachmentUrl;
const memberObj = await memberHelper.addFullMember(authorId, memberName, displayName, proxy, propic, attachmentExpiration); const memberObj = await memberHelper.addFullMember(authorId, memberName, displayName, proxy, propic, attachmentExpiration);
const memberInfoEmbed = memberHelper.getMemberInfo(memberObj); const memberInfoEmbed = memberHelper.getMemberInfo(memberObj.member);
return {embed: memberInfoEmbed, errors: memberObj.errors, success: `${memberName} has been added successfully.`} return {embed: memberInfoEmbed, errors: memberObj.errors, success: `${memberName} has been added successfully.`}
} }
@@ -314,11 +314,11 @@ memberHelper.removeMember = async function (authorId, memberName) {
* @param {string | null} [proxy] - The proxy tag of the member. * @param {string | null} [proxy] - The proxy tag of the member.
* @param {string | null} [propic] - The profile picture URL of the member. * @param {string | null} [propic] - The profile picture URL of the member.
* @param {string | null} [attachmentExpiration] - The expiration date of an uploaded profile picture. * @param {string | null} [attachmentExpiration] - The expiration date of an uploaded profile picture.
* @returns {Promise<{ObjectLiteral[], string[]}>} A successful addition object, including errors if there are any. * @returns {Promise<{Members, string[]}>} A successful addition object, including errors if there are any.
* @throws {Error} When the member already exists, there are validation errors, or adding a member doesn't work. * @throws {Error} When the member already exists, there are validation errors, or adding a member doesn't work.
*/ */
memberHelper.addFullMember = async function (authorId, memberName, displayName = null, proxy = null, propic = null, attachmentExpiration = null) { memberHelper.addFullMember = async function (authorId, memberName, displayName = null, proxy = null, propic = null, attachmentExpiration = null) {
const existingMember = await memberHelper.getMemberByName(authorId, memberName); const existingMember = await memberRepo.getMemberByName(authorId, memberName);
if (existingMember) { if (existingMember) {
throw new Error(`Can't add ${memberName}. ${enums.err.MEMBER_EXISTS}`); throw new Error(`Can't add ${memberName}. ${enums.err.MEMBER_EXISTS}`);
} }
@@ -403,7 +403,7 @@ memberHelper.updateMemberField = async function (authorId, memberName, columnNam
/** /**
* Gets the details for a member. * Gets the details for a member.
* *
* @param {{ObjectLiteral, string[]}} member - The member object * @param {{Members, string[]}} member - The member object
* @returns {EmbedBuilder} The member's info. * @returns {EmbedBuilder} The member's info.
*/ */
memberHelper.getMemberInfo = function (member) { memberHelper.getMemberInfo = function (member) {
@@ -451,7 +451,7 @@ memberHelper.checkIfProxyExists = async function (authorId, proxy) {
if (splitProxy.length < 2) throw new Error(enums.err.NO_TEXT_FOR_PROXY); if (splitProxy.length < 2) throw new Error(enums.err.NO_TEXT_FOR_PROXY);
if (!splitProxy[0] && !splitProxy[1]) throw new Error(enums.err.NO_PROXY_WRAPPER); if (!splitProxy[0] && !splitProxy[1]) throw new Error(enums.err.NO_PROXY_WRAPPER);
const memberList = await memberHelper.getMembersByAuthor(authorId); const memberList = await memberRepo.getMembersByAuthor(authorId);
const proxyExists = memberList.some(member => member.proxy === proxy); const proxyExists = memberList.some(member => member.proxy === proxy);
if (proxyExists) { if (proxyExists) {
throw new Error(enums.err.PROXY_EXISTS); throw new Error(enums.err.PROXY_EXISTS);

View File

@@ -56,6 +56,15 @@ jest.mock("../src/commands.js", () => {
} }
}) })
jest.mock('../database/data-source.ts', () => {
return {
AppDataSource: {
IsInitialized: false,
initialize: jest.fn().mockResolvedValue()
}
}
})
const {Client, Events} = require('@fluxerjs/core'); const {Client, Events} = require('@fluxerjs/core');
const {messageHelper} = require("../src/helpers/messageHelper.js"); const {messageHelper} = require("../src/helpers/messageHelper.js");

View File

@@ -2,16 +2,14 @@ const {enums} = require('../../src/enums.js');
const {utils} = require("../../src/helpers/utils.js"); const {utils} = require("../../src/helpers/utils.js");
jest.mock('@fluxerjs/core', () => jest.fn()); jest.mock('@fluxerjs/core', () => jest.fn());
jest.mock('../../src/database.js', () => { jest.mock('../../src/repositories/memberRepository.js', () => {
return { return {
database: { memberRepo: {
members: { getMemberByName: jest.fn().mockResolvedValue(),
create: jest.fn().mockResolvedValue(), getMembersByAuthor: jest.fn().mockResolvedValue(),
update: jest.fn().mockResolvedValue(), removeMember: jest.fn().mockResolvedValue(),
destroy: jest.fn().mockResolvedValue(), createMember: jest.fn().mockResolvedValue(),
findOne: jest.fn().mockResolvedValue(), updateMemberValue: jest.fn().mockResolvedValue(),
findAll: jest.fn().mockResolvedValue(),
}
} }
} }
}); });
@@ -25,10 +23,8 @@ jest.mock("../../src/helpers/utils.js", () => {
} }
}); });
const {Op} = require('sequelize');
const {memberHelper} = require("../../src/helpers/memberHelper.js"); const {memberHelper} = require("../../src/helpers/memberHelper.js");
const {database} = require("../../src/database"); const {memberRepo} = require("../../src/repositories/memberRepository.js");
describe('MemberHelper', () => { describe('MemberHelper', () => {
const authorId = "0001"; const authorId = "0001";
@@ -270,29 +266,29 @@ describe('MemberHelper', () => {
['propic', `The profile picture for ${mockMember.name} is \"${mockMember.propic}\".`], ['propic', `The profile picture for ${mockMember.name} is \"${mockMember.propic}\".`],
])('%s calls getMemberByName and returns value', async (command, expected) => { ])('%s calls getMemberByName and returns value', async (command, expected) => {
// Arrange // Arrange
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue(mockMember); memberRepo.getMemberByName.mockResolvedValue(mockMember);
// Act // Act
const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, command); const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, command);
// Assert // Assert
expect(result).toEqual(expected); expect(result).toEqual(expected);
expect(memberHelper.getMemberByName).toHaveBeenCalledTimes(1); expect(memberRepo.getMemberByName).toHaveBeenCalledTimes(1);
expect(memberHelper.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name); expect(memberRepo.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name);
}) })
test('returns error if no member found', async () => { test('returns error if no member found', async () => {
// Arrange // Arrange
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue(null); memberRepo.getMemberByName.mockResolvedValue(null);
// Act // Act
await expect(memberHelper.sendCurrentValue(authorId, mockMember.name, 'name')).rejects.toThrow(enums.err.NO_MEMBER); await expect(memberHelper.sendCurrentValue(authorId, mockMember.name, 'name')).rejects.toThrow(enums.err.NO_MEMBER);
// Assert // Assert
expect(memberHelper.getMemberByName).toHaveBeenCalledTimes(1); expect(memberRepo.getMemberByName).toHaveBeenCalledTimes(1);
expect(memberHelper.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name); expect(memberRepo.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name);
}); });
test('calls getMemberInfo with member if no command present', async () => { test('calls getMemberInfo with member if no command present', async () => {
// Arrange // Arrange
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue(mockMember); memberRepo.getMemberByName.mockResolvedValue(mockMember);
jest.spyOn(memberHelper, 'getMemberInfo').mockResolvedValue('member info'); jest.spyOn(memberHelper, 'getMemberInfo').mockResolvedValue('member info');
// Act // Act
const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, null); const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, null);
@@ -309,13 +305,13 @@ describe('MemberHelper', () => {
])('returns null message if no value found', async (command, expected) => { ])('returns null message if no value found', async (command, expected) => {
// Arrange // Arrange
const empty = {name: mockMember.name, displayname: null, proxy: null, propic: null} const empty = {name: mockMember.name, displayname: null, proxy: null, propic: null}
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue(empty); memberRepo.getMemberByName.mockResolvedValue(empty);
// Act // Act
const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, command); const result = await memberHelper.sendCurrentValue(authorId, mockMember.name, command);
// Assert // Assert
expect(result).toEqual(expected); expect(result).toEqual(expected);
expect(memberHelper.getMemberByName).toHaveBeenCalledTimes(1); expect(memberRepo.getMemberByName).toHaveBeenCalledTimes(1);
expect(memberHelper.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name); expect(memberRepo.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name);
}) })
}) })
@@ -479,39 +475,38 @@ describe('MemberHelper', () => {
}) })
describe('addFullMember', () => { describe('addFullMember', () => {
const {database} = require('../../src/database.js');
beforeEach(() => {
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue();
})
test('calls getMemberByName', async () => { test('calls getMemberByName', async () => {
// Arrange
memberRepo.getMemberByName.mockResolvedValue();
// Act // Act
await memberHelper.addFullMember(authorId, mockMember.name) await memberHelper.addFullMember(authorId, mockMember.name)
// Assert // Assert
expect(memberHelper.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name); expect(memberRepo.getMemberByName).toHaveBeenCalledWith(authorId, mockMember.name);
expect(memberHelper.getMemberByName).toHaveBeenCalledTimes(1); expect(memberRepo.getMemberByName).toHaveBeenCalledTimes(1);
}) })
test('if getMemberByName returns member, throw error', async () => { test('if getMemberByName returns member, throw error', async () => {
// Arrange // Arrange
memberHelper.getMemberByName.mockResolvedValue({name: mockMember.name}); memberRepo.getMemberByName.mockResolvedValue({name: mockMember.name});
// Act & Assert // Act & Assert
await expect(memberHelper.addFullMember(authorId, mockMember.name)).rejects.toThrow(`Can't add ${mockMember.name}. ${enums.err.MEMBER_EXISTS}`) await expect(memberHelper.addFullMember(authorId, mockMember.name)).rejects.toThrow(`Can't add ${mockMember.name}. ${enums.err.MEMBER_EXISTS}`)
// Assert // Assert
expect(database.members.create).not.toHaveBeenCalled(); expect(memberRepo.createMember).not.toHaveBeenCalled();
}) })
test('if name is not filled out, throw error', async () => { test('if name is not filled out, throw error', async () => {
// Act & Assert // Arrange
memberRepo.getMemberByName.mockResolvedValue();
// Act
await expect(memberHelper.addFullMember(authorId, " ")).rejects.toThrow(`Name ${enums.err.NO_VALUE}. ${enums.err.NAME_REQUIRED}`); await expect(memberHelper.addFullMember(authorId, " ")).rejects.toThrow(`Name ${enums.err.NO_VALUE}. ${enums.err.NAME_REQUIRED}`);
// Assert // Assert
expect(database.members.create).not.toHaveBeenCalled(); expect(memberRepo.createMember).not.toHaveBeenCalled();
}) })
test('if displayname is over 32 characters, call database.member.create with null value', async () => { test('if displayname is over 32 characters, call memberRepo.createMember with null value', async () => {
// Arrange // Arrange
memberHelper.getMemberByName.mockResolvedValue(); memberRepo.getMemberByName.mockResolvedValue();
const tooLongDisplayName = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; const tooLongDisplayName = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
const expectedMemberArgs = { const expectedMemberArgs = {
name: mockMember.name, name: mockMember.name,
@@ -520,7 +515,7 @@ describe('MemberHelper', () => {
proxy: null, proxy: null,
propic: null propic: null
} }
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
const expectedReturn = { const expectedReturn = {
member: expectedMemberArgs, member: expectedMemberArgs,
errors: [`Tried to set displayname to \"${tooLongDisplayName}\". ${enums.err.DISPLAY_NAME_TOO_LONG}. ${enums.err.SET_TO_NULL}`] errors: [`Tried to set displayname to \"${tooLongDisplayName}\". ${enums.err.DISPLAY_NAME_TOO_LONG}. ${enums.err.SET_TO_NULL}`]
@@ -530,8 +525,8 @@ describe('MemberHelper', () => {
const res = await memberHelper.addFullMember(authorId, mockMember.name, tooLongDisplayName, null, null); const res = await memberHelper.addFullMember(authorId, mockMember.name, tooLongDisplayName, null, null);
// Assert // Assert
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
test('if proxy, call checkIfProxyExists', async () => { test('if proxy, call checkIfProxyExists', async () => {
@@ -544,7 +539,7 @@ describe('MemberHelper', () => {
proxy: null, proxy: null,
propic: null propic: null
} }
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
const expectedReturn = {member: expectedMemberArgs, errors: []} const expectedReturn = {member: expectedMemberArgs, errors: []}
// Act // Act
@@ -553,8 +548,8 @@ describe('MemberHelper', () => {
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(memberHelper.checkIfProxyExists).toHaveBeenCalledWith(authorId, mockMember.proxy); expect(memberHelper.checkIfProxyExists).toHaveBeenCalledWith(authorId, mockMember.proxy);
expect(memberHelper.checkIfProxyExists).toHaveBeenCalledTimes(1); expect(memberHelper.checkIfProxyExists).toHaveBeenCalledTimes(1);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
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 () => {
@@ -567,7 +562,7 @@ describe('MemberHelper', () => {
proxy: null, proxy: null,
propic: null propic: null
} }
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
const expectedReturn = { const expectedReturn = {
member: expectedMemberArgs, member: expectedMemberArgs,
errors: [`Tried to set proxy to \"${mockMember.proxy}\". error. ${enums.err.SET_TO_NULL}`] errors: [`Tried to set proxy to \"${mockMember.proxy}\". error. ${enums.err.SET_TO_NULL}`]
@@ -577,8 +572,8 @@ describe('MemberHelper', () => {
const res = await memberHelper.addFullMember(authorId, mockMember.name, null, mockMember.proxy, null) const res = await memberHelper.addFullMember(authorId, mockMember.name, null, mockMember.proxy, null)
// Assert // Assert
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
test('if propic, call checkImageFormatValidity', async () => { test('if propic, call checkImageFormatValidity', async () => {
@@ -591,7 +586,7 @@ describe('MemberHelper', () => {
propic: null propic: null
} }
utils.setExpirationWarning = jest.fn().mockReturnValue(); utils.setExpirationWarning = jest.fn().mockReturnValue();
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
const expectedReturn = {member: expectedMemberArgs, errors: []} const expectedReturn = {member: expectedMemberArgs, errors: []}
// Act // Act
const res = await memberHelper.addFullMember(authorId, mockMember.name, null, null, mockMember.propic); const res = await memberHelper.addFullMember(authorId, mockMember.name, null, null, mockMember.propic);
@@ -599,8 +594,8 @@ describe('MemberHelper', () => {
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(utils.checkImageFormatValidity).toHaveBeenCalledWith(mockMember.propic); expect(utils.checkImageFormatValidity).toHaveBeenCalledWith(mockMember.propic);
expect(utils.checkImageFormatValidity).toHaveBeenCalledTimes(1); expect(utils.checkImageFormatValidity).toHaveBeenCalledTimes(1);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
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 () => {
@@ -613,7 +608,7 @@ describe('MemberHelper', () => {
proxy: null, proxy: null,
propic: null propic: null
} }
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
const expectedReturn = { const expectedReturn = {
member: expectedMemberArgs, member: expectedMemberArgs,
errors: [`Tried to set profile picture to \"${mockMember.propic}\". error. ${enums.err.SET_TO_NULL}`] errors: [`Tried to set profile picture to \"${mockMember.propic}\". error. ${enums.err.SET_TO_NULL}`]
@@ -622,8 +617,8 @@ describe('MemberHelper', () => {
const res = await memberHelper.addFullMember(authorId, mockMember.name, null, null, mockMember.propic); const res = await memberHelper.addFullMember(authorId, mockMember.name, null, null, mockMember.propic);
// Assert // Assert
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
test('calls setExpirationWarning if attachmentExpiration exists', async () => { test('calls setExpirationWarning if attachmentExpiration exists', async () => {
@@ -647,7 +642,7 @@ describe('MemberHelper', () => {
proxy: mockMember.proxy, proxy: mockMember.proxy,
propic: mockMember.propic propic: mockMember.propic
} }
database.members.create = jest.fn().mockResolvedValue(expectedMemberArgs); memberRepo.createMember = jest.fn().mockResolvedValue(expectedMemberArgs);
utils.checkImageFormatValidity = jest.fn().mockResolvedValue(true); utils.checkImageFormatValidity = jest.fn().mockResolvedValue(true);
utils.setExpirationWarning = jest.fn().mockReturnValue(); utils.setExpirationWarning = jest.fn().mockReturnValue();
const expectedReturn = {member: expectedMemberArgs, errors: []} const expectedReturn = {member: expectedMemberArgs, errors: []}
@@ -655,19 +650,16 @@ describe('MemberHelper', () => {
const res = await memberHelper.addFullMember(authorId, mockMember.name, mockMember.displayname, mockMember.proxy, mockMember.propic); const res = await memberHelper.addFullMember(authorId, mockMember.name, mockMember.displayname, mockMember.proxy, mockMember.propic);
// Assert // Assert
expect(res).toEqual(expectedReturn); expect(res).toEqual(expectedReturn);
expect(database.members.create).toHaveBeenCalledWith(expectedMemberArgs); expect(memberRepo.createMember).toHaveBeenCalledWith(expectedMemberArgs);
expect(database.members.create).toHaveBeenCalledTimes(1); expect(memberRepo.createMember).toHaveBeenCalledTimes(1);
}) })
}) })
describe('updateMemberField', () => { describe('updateMemberField', () => {
const {database} = require('../../src/database.js');
beforeEach(() => { beforeEach(() => {
utils.setExpirationWarning = jest.fn().mockReturnValue(`warning`); utils.setExpirationWarning = jest.fn().mockReturnValue(`warning`);
database.members = { memberRepo.updateMemberValue = jest.fn().mockResolvedValue([1]);
update: jest.fn().mockResolvedValue([1])
};
}) })
test.each([ test.each([
@@ -682,20 +674,13 @@ describe('MemberHelper', () => {
const res = await memberHelper.updateMemberField(authorId, mockMember.name, columnName, value, attachmentExpiration) const res = await memberHelper.updateMemberField(authorId, mockMember.name, columnName, value, attachmentExpiration)
// Assert // Assert
expect(res).toEqual(expected); expect(res).toEqual(expected);
expect(database.members.update).toHaveBeenCalledTimes(1); expect(memberRepo.updateMemberValue).toHaveBeenCalledTimes(1);
expect(database.members.update).toHaveBeenCalledWith({[columnName]: value}, { expect(memberRepo.updateMemberValue).toHaveBeenCalledWith(authorId, mockMember.name, columnName, value)
where: {
name: {[Op.iLike]: mockMember.name},
userid: authorId
}
})
}) })
test('if database.members.update returns 0 rows changed, throw error', async () => { test('if database.members.update returns 0 rows changed, throw error', async () => {
// Arrange // Arrange
database.members = { memberRepo.updateMemberValue = jest.fn().mockResolvedValue(0);
update: jest.fn().mockResolvedValue([0])
};
// Act // Act
await expect(memberHelper.updateMemberField(authorId, mockMember.name, "displayname", mockMember.displayname)).rejects.toThrow(`Can't update ${mockMember.name}. ${enums.err.NO_MEMBER}.`); await expect(memberHelper.updateMemberField(authorId, mockMember.name, "displayname", mockMember.displayname)).rejects.toThrow(`Can't update ${mockMember.name}. ${enums.err.NO_MEMBER}.`);
}) })
@@ -704,7 +689,7 @@ describe('MemberHelper', () => {
describe('checkIfProxyExists', () => { describe('checkIfProxyExists', () => {
beforeEach(() => { beforeEach(() => {
jest.spyOn(memberHelper, "getMembersByAuthor").mockResolvedValue([mockMember]); memberRepo.getMembersByAuthor.mockResolvedValue([mockMember]);
}) })
test.each([ test.each([
@@ -722,8 +707,8 @@ describe('MemberHelper', () => {
const res = await memberHelper.checkIfProxyExists(authorId, proxy) const res = await memberHelper.checkIfProxyExists(authorId, proxy)
// Assert // Assert
expect(res).toEqual(false) expect(res).toEqual(false)
expect(memberHelper.getMembersByAuthor).toHaveBeenCalledTimes(1); expect(memberRepo.getMembersByAuthor).toHaveBeenCalledTimes(1);
expect(memberHelper.getMembersByAuthor).toHaveBeenCalledWith(authorId); expect(memberRepo.getMembersByAuthor).toHaveBeenCalledWith(authorId);
}) })
test.each([ test.each([
@@ -734,13 +719,13 @@ describe('MemberHelper', () => {
// Act & Assert // Act & Assert
await expect(memberHelper.checkIfProxyExists(authorId, proxy)).rejects.toThrow(error); await expect(memberHelper.checkIfProxyExists(authorId, proxy)).rejects.toThrow(error);
expect(memberHelper.getMembersByAuthor).not.toHaveBeenCalled(); expect(memberRepo.getMembersByAuthor).not.toHaveBeenCalled();
}) })
test('--text returns correct error and calls getMemberByAuthor', async () => { test('--text returns correct error and calls getMemberByAuthor', async () => {
await expect(memberHelper.checkIfProxyExists(authorId, "--text")).rejects.toThrow(enums.err.PROXY_EXISTS); await expect(memberHelper.checkIfProxyExists(authorId, "--text")).rejects.toThrow(enums.err.PROXY_EXISTS);
expect(memberHelper.getMembersByAuthor).toHaveBeenCalledTimes(1); expect(memberRepo.getMembersByAuthor).toHaveBeenCalledTimes(1);
expect(memberHelper.getMembersByAuthor).toHaveBeenCalledWith(authorId); expect(memberRepo.getMembersByAuthor).toHaveBeenCalledWith(authorId);
}) })
}) })