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

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

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 191x 1x 1x 1x 3x 3x 3x 3x 3x 1x 1x 1x 1x 1x 1x 1x 1x 1x  
import { PlanAgreementStatus, type PlanAgreement } from '@amalia/plan-agreements/types';
 
export const isPlanAgreementPreviewable = (
  planAgreement: Pick<
    PlanAgreement,
    'assignments' | 'error' | 'googleDocFolderId' | 'internalGoogleDocId' | 'name' | 'planId' | 'status' | 'year'
  >,
) =>
  PlanAgreementStatus.DRAFT === planAgreement.status &&
  [
    !planAgreement.error,
    planAgreement.assignments.length,
    planAgreement.googleDocFolderId,
    planAgreement.internalGoogleDocId,
    planAgreement.name,
    planAgreement.planId,
    planAgreement.year,
  ].every(Boolean);