All files / src/domain/verifier/useCases findVerificationSubstep.ts

100% Statements 9/9
80% Branches 4/5
100% Functions 2/2
100% Lines 7/7

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                1665x 3089x   522x     1963x 2226x 8009x   1093x            
import type { IVerificationMapItem } from '../../../models/VerificationMap';
import type VerificationSubstep from '../valueObjects/VerificationSubstep';
 
export default function findVerificationSubstep (
  code: string,
  verificationMap: IVerificationMapItem[],
  verificationSuite: string = ''
): VerificationSubstep {
  for (let i = 0; i < verificationMap.length; i++) {
    let candidateStep = verificationMap[i].subSteps.find(substep => substep.code === code);
    if (candidateStep && verificationSuite === '') {
      return candidateStep;
    }
    if (verificationMap[i].suites?.length) {
      for (let j = 0; j < verificationMap[i].suites.length; j++) {
        const currentSuite = verificationMap[i].suites[j];
        candidateStep = currentSuite.subSteps.find(substep => substep.code === code);
        if (candidateStep && currentSuite.proofType === verificationSuite) {
          return candidateStep;
        }
      }
    }
  }
}