All files / server/src/features/assignment/utils getLotterySignups.ts

100% Statements 9/9
100% Branches 2/2
100% Functions 1/1
100% Lines 9/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29        46x     142x 142x     142x 4792x 734x 6593x                   142x   142x    
import { logger } from "server/utils/logger";
import { AssignmentLotterySignup } from "server/types/userTypes";
import { User } from "shared/types/models/user";
 
export const getLotterySignups = (
  users: readonly User[],
): AssignmentLotterySignup[] => {
  logger.debug("Get lottery signups");
  const lotterySignups: AssignmentLotterySignup[] = [];
 
  // Get lottery signups for all users
  for (const user of users) {
    if (user.lotterySignups.length > 0) {
      for (const lotterySignup of user.lotterySignups) {
        lotterySignups.push({
          username: user.username,
          programItemId: lotterySignup.programItemId,
          priority: lotterySignup.priority,
          signedToStartTime: lotterySignup.signedToStartTime,
        });
      }
    }
  }
 
  logger.debug(`Found ${lotterySignups.length} lottery signups`);
 
  return lotterySignups;
};