All files / libs/plan-agreements/shared/src/lib/business-rules/agreements/is-bulk-downloadable is-bulk-downloadable.ts

100% Statements 15/15
100% Branches 4/4
100% Functions 1/1
100% Lines 15/15

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 161x 1x 1x 1x 21x 21x 21x 14x 14x 14x 14x 14x 14x 14x 1x  
import { PlanAgreementAssignmentStatus, PlanAgreementStatus, type PlanAgreement } from '@amalia/plan-agreements/types';
 
export const isPlanAgreementBulkDownloadable = (
  planAgreement: Pick<PlanAgreement, 'assignments' | 'status'>,
): boolean =>
  [PlanAgreementStatus.ARCHIVED, PlanAgreementStatus.FINALIZED].includes(planAgreement.status) &&
  !!planAgreement.assignments.length &&
  planAgreement.assignments.every((assignment) =>
    [
      PlanAgreementAssignmentStatus.AGREEMENT_GENERATED,
      PlanAgreementAssignmentStatus.AGREEMENT_SENT,
      PlanAgreementAssignmentStatus.ARCHIVED,
      PlanAgreementAssignmentStatus.CONFIRMED,
    ].includes(assignment.status),
  );