test sort function
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Rebecca-Chou 2022-02-16 21:07:19 +08:00
parent 615a8ddbf9
commit 3506b6d00c
2 changed files with 14 additions and 3 deletions

View File

@ -8,6 +8,14 @@ export interface Member {
program: string; program: string;
} }
const execPositions: { [name: string]: number } = {
presidentcro: 1,
"vice-president": 2,
secretary: 3,
treasurer: 4,
sysadmin: 5,
};
export async function getMembers(year: string, term: Term): Promise<Member[]> { export async function getMembers(year: string, term: Term): Promise<Member[]> {
if (process.env.USE_LDAP?.toLowerCase() !== "true") { if (process.env.USE_LDAP?.toLowerCase() !== "true") {
return dummyMembers; return dummyMembers;
@ -36,7 +44,10 @@ export async function getMembers(year: string, term: Term): Promise<Member[]> {
program: item.position === undefined ? "" : (item.position as string), program: item.position === undefined ? "" : (item.position as string),
}; };
}) })
.filter((item: Member) => item.program !== ""); .filter((item: Member) => item.program !== "")
.sort((item1: Member, item2: Member) => {
return execPositions[item1.program] - execPositions[item2.program];
});
// .sort((item1: Member, item2: Member) => // .sort((item1: Member, item2: Member) =>
// item1.name.localeCompare(item2.name) // item1.name.localeCompare(item2.name)
// ); // );

View File

@ -68,10 +68,10 @@ export async function getExecNames() {
return { return {
name: item.cn as string, name: item.cn as string,
position: position:
item.position === undefined ? "none" : (item.position as string), item.position === undefined ? "" : (item.position as string),
}; };
}) })
.filter((item: execMembers) => item.position in execPositions) .filter((item: execMembers) => item.position !== "")
.sort((item1: execMembers, item2: execMembers) => { .sort((item1: execMembers, item2: execMembers) => {
return execPositions[item1.position] - execPositions[item2.position]; return execPositions[item1.position] - execPositions[item2.position];
}); });