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        49x     168x 168x     168x 5228x 789x 7006x                   168x   168x    
import { User } from "shared/types/models/user";
import { AssignmentLotterySignup } from "server/types/userTypes";
import { logger } from "server/utils/logger";
 
export const getLotterySignups = (
  users: readonly User[],
): AssignmentLotterySignup[] => {
  logger.debug("Get lottery signups");
  const lotterySignups: AssignmentLotterySignup[] = [];
 
  // Get lottery sign-ups 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;
};