forked from PluralFlux/PluralFlux
trying to get refactored memberhelper to pass tests -_-
This commit is contained in:
@@ -24,18 +24,17 @@ const commandList = ['--help', 'new', 'remove', 'name', 'list', 'displayName', '
|
||||
* @throws {Error}
|
||||
*/
|
||||
mh.parseMemberCommand = async function (authorId, authorFull, args, attachmentUrl = null, attachmentExpiration = null) {
|
||||
let member;
|
||||
const memberName = !commandList.includes(args[0]) ? args[0] : args[1];
|
||||
|
||||
// checks whether command is in list, otherwise assumes it's a name
|
||||
if (!commandList.includes(args[0])) {
|
||||
member = await mh.getMemberByName(authorId, args[1]).then((m) => {
|
||||
if (!m) {
|
||||
return enums.err.NO_MEMBER;
|
||||
}
|
||||
})
|
||||
}
|
||||
const member = await mh.getMemberByName(authorId, memberName).then((m) => {
|
||||
if (!m) {
|
||||
return enums.err.NO_MEMBER;
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
switch (args[0]) {
|
||||
case '--help':
|
||||
return mh.getMemberCommandInfo();
|
||||
case 'new':
|
||||
return await mh.addNewMember(authorId, args, attachmentUrl).catch((e) => {
|
||||
throw e
|
||||
@@ -59,31 +58,33 @@ mh.parseMemberCommand = async function (authorId, authorFull, args, attachmentUr
|
||||
return await mh.getAllMembersInfo(authorId, authorFull).catch((e) => {
|
||||
throw e
|
||||
});
|
||||
case '--help':
|
||||
case '':
|
||||
return enums.help.MEMBER;
|
||||
return mh.getMemberCommandInfo();
|
||||
}
|
||||
switch (args[1]) {
|
||||
case 'name':
|
||||
return await mh.updateName(authorId, member.name, args[2]).catch((e) => {
|
||||
if (!args[2]) return member.name ?? `Name ${enums.err.NO_VALUE}`;
|
||||
return await mh.updateName(authorId, args[1], args[2]).catch((e) => {
|
||||
throw e
|
||||
});
|
||||
case 'displayname':
|
||||
if (!args[2]) return member.displayname ?? `Display name ${enums.err.NO_VALUE}`;
|
||||
return await mh.updateDisplayName(authorId, member.name, args[2]).catch((e) => {
|
||||
return await mh.updateDisplayName(authorId, args[1], args[2]).catch((e) => {
|
||||
throw e
|
||||
});
|
||||
case 'proxy':
|
||||
if (!args[2]) return member.proxy ?? `Proxy ${enums.err.NO_VALUE}`;
|
||||
return await mh.updateProxy(authorId, member.name, args[2]).catch((e) => {
|
||||
return await mh.updateProxy(authorId, args[1], args[2]).catch((e) => {
|
||||
throw e
|
||||
});
|
||||
case 'propic':
|
||||
if (!args[2]) return member.propic ?? `Profile picture ${enums.err.NO_VALUE}`;
|
||||
return await mh.updatePropic(authorId, member.name, args[2], attachmentUrl, attachmentExpiration).catch((e) => {
|
||||
return await mh.updatePropic(authorId, args[1], args[2], attachmentUrl, attachmentExpiration).catch((e) => {
|
||||
throw e
|
||||
});
|
||||
default:
|
||||
return await mh.getMemberInfo(authorId, member.name);
|
||||
return await mh.getMemberInfo(authorId, args[1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,8 @@ jest.mock('../../src/database.js', () => {
|
||||
create: jest.fn().mockResolvedValue(),
|
||||
update: jest.fn().mockResolvedValue(),
|
||||
destroy: jest.fn().mockResolvedValue(),
|
||||
findOne: jest.fn().mockResolvedValue(),
|
||||
findAll: jest.fn().mockResolvedValue(),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,15 +26,24 @@ describe('MemberHelper', () => {
|
||||
const authorFull = "author#0001";
|
||||
const attachmentUrl = "../oya.png";
|
||||
const attachmentExpiration = new Date('2026-01-01T00.00.00.0000Z')
|
||||
|
||||
const member = {
|
||||
name: "somePerson",
|
||||
displayname: "Some Person",
|
||||
proxy: "--text",
|
||||
propic: "oya.png"
|
||||
}
|
||||
beforeEach(() => {
|
||||
jest.resetModules();
|
||||
jest.clearAllMocks();
|
||||
jest.spyOn(memberHelper, 'getMemberByName').mockResolvedValue(member);
|
||||
})
|
||||
|
||||
describe('parseMemberCommand', () => {
|
||||
|
||||
|
||||
|
||||
beforeEach(() => {
|
||||
|
||||
jest.spyOn(memberHelper, 'getMemberInfo').mockResolvedValue("member info");
|
||||
jest.spyOn(memberHelper, 'addNewMember').mockResolvedValue("new member");
|
||||
jest.spyOn(memberHelper, 'removeMember').mockResolvedValue("remove member");
|
||||
@@ -41,7 +52,8 @@ describe('MemberHelper', () => {
|
||||
jest.spyOn(memberHelper, 'updateDisplayName').mockResolvedValue("update display name");
|
||||
jest.spyOn(memberHelper, 'updateProxy').mockResolvedValue("update proxy");
|
||||
jest.spyOn(memberHelper, 'updatePropic').mockResolvedValue("update propic");
|
||||
jest.spyOn(memberHelper, 'getProxyByMember').mockResolvedValue("get proxy");
|
||||
|
||||
jest.spyOn(memberHelper, 'getMemberCommandInfo').mockResolvedValue("member command info");
|
||||
});
|
||||
|
||||
test.each([
|
||||
|
||||
Reference in New Issue
Block a user