From 915a0d6611bb2fe200f67bb58f088e0727e3400b Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Thu, 19 Feb 2026 14:13:47 -0800 Subject: [PATCH 01/12] Initial assessment changes. --- .../fulltime-assessment-2026-2027.bpmn | 395 +++++++++++------- .../load-assessment-consolidated-data.bpmn | 6 +- .../parttime-assessment-2026-2027.bpmn | 21 +- .../workflow/test/models/assessment.model.ts | 4 +- 4 files changed, 267 insertions(+), 159 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index d4baa37c49..87392431ec 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -477,7 +477,6 @@ calculatedDataParent1TaxRate Event_0bk5jrr Event_1n57xgo Event_1bl5l5x - Event_1ikowt9 Activity_05w97d8 Activity_17g355h Activity_0yaowp1 @@ -488,6 +487,7 @@ calculatedDataParent1TaxRate Event_0zvfjsx Event_1dvt26b Event_0gwvumx + Activity_1btmzxj @@ -1724,7 +1724,7 @@ There is also a per application limit based on the number of weeks in the offeri - + Flow_119pdg5 @@ -1733,7 +1733,7 @@ There is also a per application limit based on the number of weeks in the offeri - + Flow_1qvqrur @@ -2087,16 +2087,16 @@ Alimony/Child Support paid by the Partner during the study period can be conside - + - Flow_0ssiiff + Flow_1iz59pc Flow_1gzgc13 - + Flow_1gzgc13 @@ -2124,26 +2124,12 @@ Alimony/Child Support paid by the Partner during the study period can be conside - + Flow_0wb0sz0 Flow_0ixsnmb - - The priority for Income used in the assessment is: -1. Current Year -2. CRA Reported -3. Self Reported (Own Income) -4. Self Reported (Student) - - - - - - Flow_1ekiozl - Flow_0ssiiff - @@ -2373,7 +2359,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside = (studentDataRelationshipStatus = "single" or studentDataRelationshipStatus = "other" or studentDataRelationshipStatus = "marriedUnable") and studentDataDependantstatus = "independant" - + = studentDataRelationshipStatus = "married" @@ -2412,7 +2398,6 @@ Alimony/Child Support paid by the Partner during the study period can be conside - @@ -2574,6 +2559,61 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + Flow_1ekiozl + Flow_1iz59pc + + The priority for Income used in the assessment is: +1. Current Year +2. CRA Reported +3. Self Reported + + + + + + Flow_172u6ft + Flow_10kg3iw + + + Flow_1sldl88 + Flow_172u6ft + Flow_15nsohu + + + The priority for Income used in the assessment is: +1. Current Year +2. CRA Reported +3. Self Reported + + + + + + Flow_15nsohu + Flow_17z521s + + + Flow_10kg3iw + Flow_17z521s + Flow_1k3l7oj + + + Flow_1sldl88 + + + Flow_1k3l7oj + + + + + + =studentDataCurrentYearPartnerIncome != null + + + + + @@ -2641,24 +2681,24 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + + - - + + - - - - - - + + @@ -3536,6 +3576,10 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + + @@ -3569,16 +3613,14 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - - - + + + + @@ -3621,12 +3663,8 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - - - + + @@ -4514,15 +4552,15 @@ This also brings in the total PY spouse contribution weeks value if it exists. - + - + - + @@ -4654,10 +4692,6 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - @@ -4702,85 +4736,9 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -4990,6 +4948,86 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5153,16 +5191,22 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + + + + - - + + - + @@ -5171,20 +5215,14 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - - + + - + - - - - - + + @@ -5222,4 +5260,75 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/packages/backend/workflow/src/workflow-definitions/load-assessment-consolidated-data.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/load-assessment-consolidated-data.bpmn index 31c0485543..35f3161fd5 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/load-assessment-consolidated-data.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/load-assessment-consolidated-data.bpmn @@ -79,8 +79,8 @@ - - + + @@ -176,4 +176,4 @@ - \ No newline at end of file + diff --git a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn index 0cddf021fa..52550c0150 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn @@ -869,10 +869,9 @@ dmnX (comes from dmn) The priority for Income used in the assessment is: 1. Current Year 2. CRA Reported -3. Self Reported (Own Income) -4. Self Reported (Student) +3. Self Reported - + Flow_0kzutrb Flow_03zrtci @@ -1949,10 +1948,6 @@ dmnX (comes from dmn) - - - - @@ -2035,6 +2030,10 @@ dmnX (comes from dmn) + + + + @@ -2111,10 +2110,10 @@ dmnX (comes from dmn) - - - - + + + + diff --git a/sources/packages/backend/workflow/test/models/assessment.model.ts b/sources/packages/backend/workflow/test/models/assessment.model.ts index 0f80499f98..4363886347 100644 --- a/sources/packages/backend/workflow/test/models/assessment.model.ts +++ b/sources/packages/backend/workflow/test/models/assessment.model.ts @@ -174,7 +174,7 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent1SupportingUserId?: number; parent1Contributions?: number; parent1Ei?: number; - parent1NetAssests?: number; + parent1NetAssets?: number; parent1Tax?: number; parent1TotalIncome?: number; parent1DependentTable?: StudentDependent[]; @@ -186,7 +186,7 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent2CppSelfemploymentOther?: number; parent2DependentTable?: StudentDependent[]; parent2Ei?: number; - parent2NetAssests?: number; + parent2NetAssets?: number; parent2Tax?: number; parent2TotalIncome?: number; parent2CRAReportedIncome?: number; From 6e4e525915174745e943ed6689763cc03ad31419 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Thu, 19 Feb 2026 14:50:08 -0800 Subject: [PATCH 02/12] Temporary assests --- .../packages/backend/workflow/test/models/assessment.model.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sources/packages/backend/workflow/test/models/assessment.model.ts b/sources/packages/backend/workflow/test/models/assessment.model.ts index 4363886347..02534d29e7 100644 --- a/sources/packages/backend/workflow/test/models/assessment.model.ts +++ b/sources/packages/backend/workflow/test/models/assessment.model.ts @@ -174,6 +174,7 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent1SupportingUserId?: number; parent1Contributions?: number; parent1Ei?: number; + parent1NetAssests?: number; // TODO: remove this variable and any references to it once the rest of the partner CY income work is complete. parent1NetAssets?: number; parent1Tax?: number; parent1TotalIncome?: number; @@ -186,6 +187,7 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent2CppSelfemploymentOther?: number; parent2DependentTable?: StudentDependent[]; parent2Ei?: number; + parent2NetAssests?: number; // TODO: remove this variable and any references to it once the rest of the partner CY income work is complete. parent2NetAssets?: number; parent2Tax?: number; parent2TotalIncome?: number; From 1f4ef6a573951312f1066c47013e6b3e253d8a68 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Thu, 19 Feb 2026 16:00:34 -0800 Subject: [PATCH 03/12] Test updates --- ...sessment-costs-alimony-support.e2e-spec.ts | 46 +++++++++---------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts index 2ad1ced3c4..d7ffe0e53e 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts @@ -99,16 +99,15 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-alimony-s const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataChildSupportAndOrSpousalSupport = 3500; - assessmentConsolidatedData.studentDataPartnerChildSupportCosts = null; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; + assessmentConsolidatedData.partner1ChildSpousalSupportCost = null; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( @@ -135,16 +134,15 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-alimony-s const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataChildSupportAndOrSpousalSupport = 2000; - assessmentConsolidatedData.studentDataPartnerChildSupportCosts = 1000; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; + assessmentConsolidatedData.partner1ChildSpousalSupportCost000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( @@ -172,17 +170,16 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-alimony-s const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataChildSupportAndOrSpousalSupport = 2000; - assessmentConsolidatedData.studentDataPartnerStudyWeeks = 13; - assessmentConsolidatedData.studentDataPartnerChildSupportCosts = 1000; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; + assessmentConsolidatedData.partner1StudentStudyWeeks = 13; + assessmentConsolidatedData.partner1ChildSpousalSupportCost = 1000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( @@ -211,15 +208,14 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-alimony-s createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataChildSupportAndOrSpousalSupport = 3000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerChildSupportCosts = 2000; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1ChildSpousalSupportCost = 2000; + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( From 2ff91ec7f7184065a33b9d12775449d450b12888 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Thu, 19 Feb 2026 17:05:42 -0800 Subject: [PATCH 04/12] Test and workflow changes --- .../fulltime-assessment-2026-2027.bpmn | 8 ++++---- .../fulltime-assessment-costs-alimony-support.e2e-spec.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index 87392431ec..278b882832 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -2085,8 +2085,8 @@ Priority to loan reported by partner directly, then by student. Otherwise will b Alimony/Child Support paid by the Partner during the study period can be considered towards costs. If not entered, consider their costs for this 0. - - + + @@ -2105,7 +2105,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside - + Flow_1w7m8ku @@ -2114,7 +2114,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside - + Flow_0l4ido8 diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts index d7ffe0e53e..d96aea8809 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-alimony-support.e2e-spec.ts @@ -134,7 +134,7 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-alimony-s const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataChildSupportAndOrSpousalSupport = 2000; - assessmentConsolidatedData.partner1ChildSpousalSupportCost000; + assessmentConsolidatedData.partner1ChildSpousalSupportCost = 1000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; From b8ddd42ac08f33f4ce547c06c8844866118ca63c Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Fri, 20 Feb 2026 12:59:11 -0800 Subject: [PATCH 05/12] More tests --- .../fulltime-assessment-2026-2027.bpmn | 1 + ...assessment-spouse-contribution.e2e-spec.ts | 76 +++++++++---------- ...sessment-costs-child-care-cost.e2e-spec.ts | 20 ++--- ...essment-costs-interface-policy.e2e-spec.ts | 22 +++--- ...essment-costs-living-allowance.e2e-spec.ts | 16 ++-- ...ssessment-costs-transportation.e2e-spec.ts | 9 +-- ...ssessment-total-partner-income.e2e-spec.ts | 5 +- 7 files changed, 70 insertions(+), 79 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index 278b882832..6a1e788df6 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -2465,6 +2465,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside + Flow_1u26ach diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/contribution/fulltime-assessment-spouse-contribution.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/contribution/fulltime-assessment-spouse-contribution.e2e-spec.ts index e54b0ede2e..bf5560853c 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/contribution/fulltime-assessment-spouse-contribution.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/contribution/fulltime-assessment-spouse-contribution.e2e-spec.ts @@ -13,13 +13,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( @@ -75,13 +75,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; // Act @@ -133,15 +133,15 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataPartnerStudyWeeks = 12; + assessmentConsolidatedData.partner1StudentStudyWeeks = 12; // Act const calculatedAssessment = @@ -197,13 +197,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; assessmentConsolidatedData.programYearTotalFullTimeSpouseContributionWeeks = 20; // Spouse contribution for 20 weeks have been calculated in the program year. @@ -263,13 +263,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; // Act @@ -325,13 +325,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 10000; + assessmentConsolidatedData.partner1TotalIncome = 10000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; // Act @@ -387,13 +387,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; // Act @@ -449,13 +449,13 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; @@ -512,16 +512,16 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-spouse-contribut createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 30000; + assessmentConsolidatedData.partner1TotalIncome = 30000; assessmentConsolidatedData.studentDataYouthInCare = YesNoOptions.Yes; // The spouse is a full-time student for more weeks than the student's offering weeks (16). - assessmentConsolidatedData.studentDataPartnerStudyWeeks = 20; + assessmentConsolidatedData.partner1StudentStudyWeeks = 20; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-child-care-cost.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-child-care-cost.e2e-spec.ts index d2f633eda3..c266ce4dac 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-child-care-cost.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-child-care-cost.e2e-spec.ts @@ -65,9 +65,8 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-child-car assessmentConsolidatedData.studentDataDaycareCosts11YearsOrUnder = 1000; assessmentConsolidatedData.offeringWeeks = 18; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerStudyWeeks = 3; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 10000; + assessmentConsolidatedData.partner1StudentStudyWeeks = 3; + assessmentConsolidatedData.partner1TotalIncome = 10000; assessmentConsolidatedData.studentDataTaxReturnIncome = 10002; // Creates 1 eligible dependent. assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; @@ -111,9 +110,8 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-child-car assessmentConsolidatedData.studentDataDaycareCosts11YearsOrUnder = 1000; assessmentConsolidatedData.offeringWeeks = 18; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerStudyWeeks = 13; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 10000; + assessmentConsolidatedData.partner1StudentStudyWeeks = 13; + assessmentConsolidatedData.partner1TotalIncome = 10000; assessmentConsolidatedData.studentDataTaxReturnIncome = 10002; // Creates 1 eligible dependent. assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; @@ -254,10 +252,9 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-child-car assessmentConsolidatedData.studentDataDaycareCosts11YearsOrUnder = 1000; assessmentConsolidatedData.offeringWeeks = 18; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerCaringForDependant = + assessmentConsolidatedData.partner1PartnerCaringForDependant = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 10000; + assessmentConsolidatedData.partner1TotalIncome = 10000; assessmentConsolidatedData.studentDataTaxReturnIncome = 10002; // Creates 1 eligible dependent. assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; @@ -299,10 +296,9 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-child-car assessmentConsolidatedData.studentDataDaycareCosts11YearsOrUnder = 1000; assessmentConsolidatedData.offeringWeeks = 18; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerCaringForDependant = + assessmentConsolidatedData.partner1PartnerCaringForDependant = YesNoOptions.No; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 10000; + assessmentConsolidatedData.partner1TotalIncome = 10000; assessmentConsolidatedData.studentDataTaxReturnIncome = 10002; // Creates 1 eligible dependent. assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-interface-policy.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-interface-policy.e2e-spec.ts index 7cb99fdb5a..ce80cedb9d 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-interface-policy.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-interface-policy.e2e-spec.ts @@ -33,15 +33,14 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-interface createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataIncomeAssistanceAmount = 1000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; - assessmentConsolidatedData.studentDataPartnerBCEAIncomeAssistanceAmount = 1500; + assessmentConsolidatedData.partner1TotalIncome = 0; + assessmentConsolidatedData.partner1BCEAIncomeAssistanceAmount = 1500; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( @@ -102,15 +101,14 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-interface createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataIncomeAssistanceAmount = 1000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; - assessmentConsolidatedData.studentDataPartnerBCEAIncomeAssistanceAmount = 1000; + assessmentConsolidatedData.partner1TotalIncome = 0; + assessmentConsolidatedData.partner1BCEAIncomeAssistanceAmount = 1000; assessmentConsolidatedData.studentDataGovernmentFundingCosts = 100; // Act diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-living-allowance.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-living-allowance.e2e-spec.ts index d810041cf5..3cc68269bb 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-living-allowance.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-living-allowance.e2e-spec.ts @@ -160,13 +160,13 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-living-al createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( PROGRAM_YEAR, @@ -186,13 +186,13 @@ describe(`E2E Test Workflow full-time-assessment-${PROGRAM_YEAR}-costs-living-al createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.No; assessmentConsolidatedData.studentDataRelationshipStatus = "marriedUnable"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( PROGRAM_YEAR, diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-transportation.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-transportation.e2e-spec.ts index 37f6bee52a..1de902aa7c 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-transportation.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/costs/fulltime-assessment-costs-transportation.e2e-spec.ts @@ -82,15 +82,14 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-costs-transporta assessmentConsolidatedData.studentDataReturnTripHomeCost = 1000; assessmentConsolidatedData.studentDataLivingWithPartner = YesNoOptions.Yes; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataPartnerHasEmploymentInsuranceBenefits = + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasTotalIncomeAssistance = + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = YesNoOptions.No; - assessmentConsolidatedData.studentDataPartnerHasFedralProvincialPDReceipt = + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = YesNoOptions.No; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 0; + assessmentConsolidatedData.partner1TotalIncome = 0; // Act const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts index d6746180d6..c7500b6bc1 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts @@ -11,7 +11,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-in const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 30000; // Act @@ -38,7 +37,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-in const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; assessmentConsolidatedData.studentDataCurrentYearPartnerIncome = 10000; // Act @@ -63,8 +61,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-in const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = false; - assessmentConsolidatedData.studentDataEstimatedSpouseIncome = 15000; + assessmentConsolidatedData.partner1TotalIncome = 15000; // No income verification happened as student self reported partner's tax return income. assessmentConsolidatedData.partner1CRAReportedIncome = null; From 24bcf7d186320ed1ae5c3ebeebdff32d6169c117 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Fri, 20 Feb 2026 13:21:32 -0800 Subject: [PATCH 06/12] More tests --- .../fulltime-assessment-2026-2027.bpmn | 2 +- ...ulltime-assessment-family-size.e2e-spec.ts | 3 --- ...-assessment-awards-amount-BCAG.e2e-spec.ts | 5 ---- ...-assessment-awards-amount-CSGD.e2e-spec.ts | 5 ---- ...-assessment-awards-amount-CSPT.e2e-spec.ts | 5 ---- ...arttime-assessment-family-size.e2e-spec.ts | 3 --- .../workflow/test/models/assessment.model.ts | 24 +++++++++---------- 7 files changed, 13 insertions(+), 34 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index 6a1e788df6..fee27b50d1 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -2123,7 +2123,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside - + diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/family-count/fulltime-assessment-family-size.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/family-count/fulltime-assessment-family-size.e2e-spec.ts index fa286a79da..ad448f8e45 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/family-count/fulltime-assessment-family-size.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/family-count/fulltime-assessment-family-size.e2e-spec.ts @@ -17,7 +17,6 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentEligible( @@ -47,7 +46,6 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentNotEligible( @@ -79,7 +77,6 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentEligible( diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-BCAG.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-BCAG.e2e-spec.ts index aaf6c16c54..6d01a732bd 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-BCAG.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-BCAG.e2e-spec.ts @@ -13,7 +13,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-BC createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Act const calculatedAssessment = await executePartTimeAssessmentForProgramYear( @@ -47,7 +46,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-BC createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 33999; // Act const calculatedAssessment = await executePartTimeAssessmentForProgramYear( @@ -88,7 +86,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-BC createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Public institution assessmentConsolidatedData.institutionType = InstitutionTypes.BCPublic; @@ -134,7 +131,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-BC createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Public institution assessmentConsolidatedData.institutionType = InstitutionTypes.BCPublic; @@ -163,7 +159,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-BC createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Public institution assessmentConsolidatedData.institutionType = InstitutionTypes.BCPublic; diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSGD.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSGD.e2e-spec.ts index 943df012c9..79a6c5defd 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSGD.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSGD.e2e-spec.ts @@ -18,7 +18,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 20000; assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; assessmentConsolidatedData.studentDataDependants = [ @@ -64,7 +63,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 52000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 42000; assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; assessmentConsolidatedData.studentDataDependants = [ @@ -146,7 +144,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 20000; assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; assessmentConsolidatedData.studentDataDependants = [ @@ -190,7 +187,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 40000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 40000; assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; assessmentConsolidatedData.studentDataDependants = [ @@ -263,7 +259,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 35000; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 35000; assessmentConsolidatedData.studentDataHasDependents = YesNoOptions.Yes; assessmentConsolidatedData.studentDataDependants = [ diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSPT.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSPT.e2e-spec.ts index 9d287f3d0c..c4d0be163f 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSPT.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/awards-amounts/parttime-assessment-awards-amount-CSPT.e2e-spec.ts @@ -12,7 +12,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Act const calculatedAssessment = await executePartTimeAssessmentForProgramYear( @@ -42,7 +41,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 33999; // Act const calculatedAssessment = await executePartTimeAssessmentForProgramYear( @@ -70,7 +68,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; // Act const calculatedAssessment = await executePartTimeAssessmentForProgramYear( @@ -107,7 +104,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 20001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.programYearTotalPartTimeCSPT = undefined; // Act @@ -129,7 +125,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-awards-amount-CS createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataCRAReportedIncome = 60001; assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.programYearTotalPartTimeCSPT = 795; // Act diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/family-count/parttime-assessment-family-size.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/family-count/parttime-assessment-family-size.e2e-spec.ts index ac517381ff..f6daad8897 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/family-count/parttime-assessment-family-size.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/family-count/parttime-assessment-family-size.e2e-spec.ts @@ -17,7 +17,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentEligible( @@ -48,7 +47,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentNotEligible( @@ -81,7 +79,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-family-size.`, ( const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataIsYourPartnerAbleToReport = true; assessmentConsolidatedData.partner1CRAReportedIncome = 22999; assessmentConsolidatedData.studentDataDependants = [ createFakeStudentDependentEligible( diff --git a/sources/packages/backend/workflow/test/models/assessment.model.ts b/sources/packages/backend/workflow/test/models/assessment.model.ts index 02534d29e7..b3a3cfbf48 100644 --- a/sources/packages/backend/workflow/test/models/assessment.model.ts +++ b/sources/packages/backend/workflow/test/models/assessment.model.ts @@ -143,10 +143,10 @@ export interface AssessmentConsolidatedData extends JSONDoc { appealsPartnerCurrentYearIncomeAppealData?: JSONDoc; appealsParentCurrentYearIncomeAppealData?: JSONDoc; appealsStudentExceptionalExpenseAppealData?: JSONDoc; - studentDataIsYourPartnerAbleToReport?: boolean; + studentDataIsYourPartnerAbleToReport?: boolean; // No longer used in PY 26/27 and beyond. studentDataParentValidSinNumber?: YesNoOptions; studentDataNumberOfParents?: 1 | 2; - studentDataEstimatedSpouseIncome?: number; + studentDataEstimatedSpouseIncome?: number; // No longer used in PY 26/27 and beyond. studentDataCurrentYearPartnerIncome?: number; // No longer used in PY 26/27 and beyond. studentDataLivingWithPartner?: YesNoOptions; studentDataCRAReportedIncome?: number; @@ -154,12 +154,12 @@ export interface AssessmentConsolidatedData extends JSONDoc { studentDataGovernmentFundingCosts?: number; studentDataNonGovernmentFundingCosts?: number; studentDataParentVoluntaryContributionsCosts?: number; - studentDataPartnerStudyWeeks?: number; - studentDataPartnerEmploymentInsurance?: YesNoOptions; - studentDataPartnerFedralProvincialPDReceiptCost?: number; - studentDataPartnerChildSupportCosts?: number; - studentDataPartnerCaringForDependant?: YesNoOptions; - studentDataPartnerTotalIncomeAssistance?: number; + studentDataPartnerStudyWeeks?: number; // No longer used in PY 26/27 and beyond. + studentDataPartnerEmploymentInsurance?: YesNoOptions; // No longer used in PY 26/27 and beyond. + studentDataPartnerFedralProvincialPDReceiptCost?: number; // No longer used in PY 26/27 and beyond. + studentDataPartnerChildSupportCosts?: number; // No longer used in PY 26/27 and beyond. + studentDataPartnerCaringForDependant?: YesNoOptions; // No longer used in PY 26/27 and beyond. + studentDataPartnerTotalIncomeAssistance?: number; // No longer used in PY 26/27 and beyond. studentDataVoluntaryContributions?: number; studentDataScholarshipAmount?: number; studentDataStudentParentsTotalIncome?: number; @@ -221,10 +221,10 @@ export interface AssessmentConsolidatedData extends JSONDoc { applicationStatus: string; applicationEditStatus: ApplicationEditStatus; applicationHasNOAApproval: boolean; - studentDataPartnerHasEmploymentInsuranceBenefits?: YesNoOptions; - studentDataPartnerHasFedralProvincialPDReceipt?: YesNoOptions; - studentDataPartnerHasTotalIncomeAssistance?: YesNoOptions; - studentDataPartnerBCEAIncomeAssistanceAmount?: number; + studentDataPartnerHasEmploymentInsuranceBenefits?: YesNoOptions; // No longer used in PY 26/27 and beyond. + studentDataPartnerHasFedralProvincialPDReceipt?: YesNoOptions; // No longer used in PY 26/27 and beyond. + studentDataPartnerHasTotalIncomeAssistance?: YesNoOptions; // No longer used in PY 26/27 and beyond. + studentDataPartnerBCEAIncomeAssistanceAmount?: number; // No longer used in PY 26/27 and beyond. partner1HasEmploymentInsuranceBenefits?: YesNoOptions; partner1HasFedralProvincialPDReceipt?: YesNoOptions; partner1HasTotalIncomeAssistance?: YesNoOptions; From f6f870d5e973d61acda4606364a17b5c5397fd6c Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Fri, 20 Feb 2026 14:13:35 -0800 Subject: [PATCH 07/12] Correction for Assets variable --- .../fulltime-assessment-2025-2026.bpmn | 8 ++++---- .../fulltime-assessment-2026-2027.bpmn | 2 +- .../backend/workflow/test/models/assessment.model.ts | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2025-2026.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2025-2026.bpmn index 8f07460ba5..4a0926525c 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2025-2026.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2025-2026.bpmn @@ -1,5 +1,5 @@ - + @@ -2144,7 +2144,7 @@ If distance education/blended learning program or if married and claiming separa - + Flow_119pdg5 @@ -2153,7 +2153,7 @@ If distance education/blended learning program or if married and claiming separa - + Flow_1qvqrur @@ -2252,7 +2252,7 @@ Map the correct 1 or 2 values for each of the values used to calculate income, d - + diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index fee27b50d1..af85ff81d6 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -1832,7 +1832,7 @@ Map the correct 1 or 2 values for each of the values used to calculate income, d - + diff --git a/sources/packages/backend/workflow/test/models/assessment.model.ts b/sources/packages/backend/workflow/test/models/assessment.model.ts index b3a3cfbf48..e1417b9062 100644 --- a/sources/packages/backend/workflow/test/models/assessment.model.ts +++ b/sources/packages/backend/workflow/test/models/assessment.model.ts @@ -174,7 +174,6 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent1SupportingUserId?: number; parent1Contributions?: number; parent1Ei?: number; - parent1NetAssests?: number; // TODO: remove this variable and any references to it once the rest of the partner CY income work is complete. parent1NetAssets?: number; parent1Tax?: number; parent1TotalIncome?: number; @@ -187,7 +186,6 @@ export interface AssessmentConsolidatedData extends JSONDoc { parent2CppSelfemploymentOther?: number; parent2DependentTable?: StudentDependent[]; parent2Ei?: number; - parent2NetAssests?: number; // TODO: remove this variable and any references to it once the rest of the partner CY income work is complete. parent2NetAssets?: number; parent2Tax?: number; parent2TotalIncome?: number; From d581bf0ccb993ae2b42f5355f89df32f0ce079c7 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Fri, 20 Feb 2026 17:00:37 -0800 Subject: [PATCH 08/12] More test updates for current year income --- .../fulltime-assessment-2026-2027.bpmn | 67 +++++---- .../parttime-assessment-2026-2027.bpmn | 4 +- ...ty-partner-current-year-income.e2e-spec.ts | 127 ++++++++++++++++++ ...nt-partner-current-year-income.e2e-spec.ts | 75 +++++++++++ ...ty-partner-current-year-income.e2e-spec.ts | 105 +++++++++++++++ ...nt-partner-current-year-income.e2e-spec.ts | 75 +++++++++++ ...ssessment-total-partner-income.e2e-spec.ts | 46 ++----- .../workflow/test/models/assessment.model.ts | 3 + .../factories/assessment-consolidated-data.ts | 44 +++--- 9 files changed, 454 insertions(+), 92 deletions(-) create mode 100644 sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/eligibility/fulltime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts create mode 100644 sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts create mode 100644 sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts create mode 100644 sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index af85ff81d6..740d7006ec 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -2429,8 +2429,7 @@ Alimony/Child Support paid by the Partner during the study period can be conside The priority for Income used in the assessment is: 1. Current Year 2. CRA Reported -3. Self Reported (Own Income) -4. Self Reported (Student) +3. Self Reported @@ -2588,7 +2587,7 @@ This also brings in the total PY spouse contribution weeks value if it exists. - + Flow_15nsohu @@ -2609,7 +2608,7 @@ This also brings in the total PY spouse contribution weeks value if it exists. - =studentDataCurrentYearPartnerIncome != null + =appealsPartnerCurrentYearIncomeAppealData != null @@ -5193,71 +5192,71 @@ This also brings in the total PY spouse contribution weeks value if it exists. - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - + + + + + + + - - - + + + - + - - - - - - - + + + - - + + diff --git a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn index 52550c0150..6eda58dead 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn @@ -855,7 +855,7 @@ dmnX (comes from dmn) - + Flow_1sqp89w Flow_1mrd0pj @@ -882,7 +882,7 @@ dmnX (comes from dmn) Flow_0bhp3uf - =studentDataCurrentYearPartnerIncome != null + =appealsPartnerCurrentYearIncomeAppealData != null diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/eligibility/fulltime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/eligibility/fulltime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts new file mode 100644 index 0000000000..8a0612407c --- /dev/null +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/eligibility/fulltime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts @@ -0,0 +1,127 @@ +import { PROGRAM_YEAR } from "../../../constants/program-year.constants"; +import { + ZeebeMockedClient, + createFakeConsolidatedFulltimeData, + executeFullTimeAssessmentForProgramYear, +} from "../../../../test-utils"; +import { YesNoOptions } from "@sims/test-utils"; + +describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-appeal-eligibility-partner-current-year-income.`, () => { + it("Should evaluate the partner current year income appeal as eligible when the student is married.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; + assessmentConsolidatedData.partner1TotalIncome = 100002; + assessmentConsolidatedData.partner1PartnerCaringForDependant = + YesNoOptions.No; + assessmentConsolidatedData.partner1HasEmploymentInsuranceBenefits = + YesNoOptions.No; + assessmentConsolidatedData.partner1HasTotalIncomeAssistance = + YesNoOptions.No; + assessmentConsolidatedData.partner1HasFedralProvincialPDReceipt = + YesNoOptions.No; + + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(true); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student is single and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "single"; + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is other and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "other"; + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is unable to report and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "marriedUnable"; + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student is dependant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + + assessmentConsolidatedData.studentDataDependantstatus = "dependant"; + assessmentConsolidatedData.parent1TotalIncome = 99999; + assessmentConsolidatedData.parent1CppEmployment = 500; + assessmentConsolidatedData.parent1CppSelfemploymentOther = 200; + assessmentConsolidatedData.parent1Ei = 600; + assessmentConsolidatedData.parent1Tax = 700; + assessmentConsolidatedData.parent1Contributions = 0; + assessmentConsolidatedData.studentDataVoluntaryContributions = 0; + assessmentConsolidatedData.studentDataParents = [ + { + parentIsAbleToReport: YesNoOptions.Yes, + }, + ]; + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + afterAll(async () => { + // Closes the singleton instance created during test executions. + await ZeebeMockedClient.getMockedZeebeInstance().close(); + }); +}); diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts new file mode 100644 index 0000000000..1919ea9be6 --- /dev/null +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts @@ -0,0 +1,75 @@ +import { PROGRAM_YEAR } from "../../constants/program-year.constants"; +import { + ZeebeMockedClient, + createFakeConsolidatedFulltimeData, + executeFullTimeAssessmentForProgramYear, +} from "../../../test-utils"; + +describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-partner-current-year-income.`, () => { + it("Should use application values when there is no partner current year income appeal and no CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = null; + assessmentConsolidatedData.partner1TotalIncome = 1234; + assessmentConsolidatedData.partner1CRAReportedIncome = null; + + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(1234); + }); + + it("Should use the appeal current year income values when there is a partner current year income appeal and the partner has no CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { + currentYearIncome: 20001, + }; + assessmentConsolidatedData.partner1TotalIncome = 100002; + assessmentConsolidatedData.partner1CRAReportedIncome = null; + + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(20001); + }); + + it("Should use the appeal current year income values when there is a partner current year income appeal and the partner has CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { + currentYearIncome: 20001, + }; + assessmentConsolidatedData.partner1CRAReportedIncome = 1000001; + assessmentConsolidatedData.partner1TotalIncome = 100002; + // Act + const calculatedAssessment = await executeFullTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(20001); + }); + + afterAll(async () => { + // Closes the singleton instance created during test executions. + await ZeebeMockedClient.getMockedZeebeInstance().close(); + }); +}); diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts new file mode 100644 index 0000000000..f9e4ef976c --- /dev/null +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts @@ -0,0 +1,105 @@ +import { PROGRAM_YEAR } from "../../../constants/program-year.constants"; +import { + ZeebeMockedClient, + createFakeConsolidatedPartTimeData, + executePartTimeAssessmentForProgramYear, +} from "../../../../test-utils"; + +describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-appeal-eligibility-partner-current-year-income.`, () => { + it("Should evaluate the partner current year income appeal as eligible when the student is married.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; + assessmentConsolidatedData.partner1TotalIncome = 100002; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(true); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student is single and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "single"; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is other and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "other"; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is unable to report and independant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "marriedUnable"; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + it("Should evaluate the partner current year income appeal as not eligible when the student is dependant.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + + assessmentConsolidatedData.studentDataDependantstatus = "dependant"; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables + .isEligibleForPartnerCurrentYearIncomeAppeal, + ).toBe(false); + }); + + afterAll(async () => { + // Closes the singleton instance created during test executions. + await ZeebeMockedClient.getMockedZeebeInstance().close(); + }); +}); diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts new file mode 100644 index 0000000000..f9b84a34c8 --- /dev/null +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts @@ -0,0 +1,75 @@ +import { PROGRAM_YEAR } from "../../constants/program-year.constants"; +import { + ZeebeMockedClient, + createFakeConsolidatedPartTimeData, + executePartTimeAssessmentForProgramYear, +} from "../../../test-utils"; + +describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-partner-current-year-income.`, () => { + it("Should use application values when there is no partner current year income appeal and no CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = null; + assessmentConsolidatedData.partner1TotalIncome = 1234; + assessmentConsolidatedData.partner1CRAReportedIncome = null; + + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(1234); + }); + + it("Should use the appeal current year income values when there is a partner current year income appeal and the partner has no CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { + currentYearIncome: 20001, + }; + assessmentConsolidatedData.partner1TotalIncome = 100002; + assessmentConsolidatedData.partner1CRAReportedIncome = null; + + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(20001); + }); + + it("Should use the appeal current year income values when there is a partner current year income appeal and the partner has CRA reported income.", async () => { + // Arrange + const assessmentConsolidatedData = + createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { + currentYearIncome: 20001, + }; + assessmentConsolidatedData.partner1CRAReportedIncome = 1000001; + assessmentConsolidatedData.partner1TotalIncome = 100002; + // Act + const calculatedAssessment = await executePartTimeAssessmentForProgramYear( + PROGRAM_YEAR, + assessmentConsolidatedData, + ); + // Assert + expect( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome, + ).toBe(20001); + }); + + afterAll(async () => { + // Closes the singleton instance created during test executions. + await ZeebeMockedClient.getMockedZeebeInstance().close(); + }); +}); diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts index c7500b6bc1..efc61a8d9c 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/costs/parttime-assessment-total-partner-income.e2e-spec.ts @@ -6,7 +6,7 @@ import { } from "../../../test-utils"; describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-income.`, () => { - it("Should calculate total partner income as the CRA verified income value when the student is married and the partner is able to report their financial information.", async () => { + it("Should calculate total partner income as the CRA verified income value when the student is married and the partner had CRA verified income.", async () => { // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); @@ -23,39 +23,15 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-in expect( calculatedAssessment.variables.calculatedDataPartner1TotalIncome, ).toBe(30000); - // As the student did not report the current year partner income, it must be undefined. - expect( - calculatedAssessment.variables.studentDataCurrentYearPartnerIncome, - ).toBe(undefined); + expect(calculatedAssessment.variables.calculatedDataTotalFamilyIncome).toBe( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome + + calculatedAssessment.variables.calculatedDataStudentTotalIncome, + ); }); it( - "Should calculate total partner income as self reported partner's current year income when the student is married and need to self report the partner financial information" + - " as their partner's current year income needs to be reported.", - async () => { - // Arrange - const assessmentConsolidatedData = - createFakeConsolidatedPartTimeData(PROGRAM_YEAR); - assessmentConsolidatedData.studentDataRelationshipStatus = "married"; - assessmentConsolidatedData.studentDataCurrentYearPartnerIncome = 10000; - - // Act - const calculatedAssessment = - await executePartTimeAssessmentForProgramYear( - PROGRAM_YEAR, - assessmentConsolidatedData, - ); - // Assert - // Calculated total partner income must be 10000 based on current year income being the top priority for income. - expect( - calculatedAssessment.variables.calculatedDataPartner1TotalIncome, - ).toBe(10000); - }, - ); - - it( - "Should calculate total partner income as self reported partner's tax return income when the student is married and need to self report the partner financial information" + - " as their partner is not eligible for BC Services Card.", + "Should calculate total partner income as self reported partner's tax return income when the student is married and" + + " their partner did not have CRA verified income.", async () => { // Arrange const assessmentConsolidatedData = @@ -76,10 +52,12 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-total-partner-in expect( calculatedAssessment.variables.calculatedDataPartner1TotalIncome, ).toBe(15000); - // As the student did not report the current year partner income, it must be undefined. expect( - calculatedAssessment.variables.studentDataCurrentYearPartnerIncome, - ).toBe(undefined); + calculatedAssessment.variables.calculatedDataTotalFamilyIncome, + ).toBe( + calculatedAssessment.variables.calculatedDataPartner1TotalIncome + + calculatedAssessment.variables.calculatedDataStudentTotalIncome, + ); }, ); diff --git a/sources/packages/backend/workflow/test/models/assessment.model.ts b/sources/packages/backend/workflow/test/models/assessment.model.ts index e1417b9062..2e70a9883f 100644 --- a/sources/packages/backend/workflow/test/models/assessment.model.ts +++ b/sources/packages/backend/workflow/test/models/assessment.model.ts @@ -407,6 +407,9 @@ export interface CalculatedAssessmentModel { dmnFullTimeLivingCategory: string; isEligibleForRoomAndBoardAppeal?: boolean; isEligibleForStepParentWaiverAppeal?: boolean; + isEligibleForStudentCurrentYearIncomeAppeal?: boolean; + isEligibleForPartnerCurrentYearIncomeAppeal?: boolean; + isEligibleForParentCurrentYearIncomeAppeal?: boolean; calculatedDataWaivedParent?: number; // Common variables used in both full-time and part-time. // CSGP diff --git a/sources/packages/backend/workflow/test/test-utils/factories/assessment-consolidated-data.ts b/sources/packages/backend/workflow/test/test-utils/factories/assessment-consolidated-data.ts index 848b867e57..9a55ea1e9d 100644 --- a/sources/packages/backend/workflow/test/test-utils/factories/assessment-consolidated-data.ts +++ b/sources/packages/backend/workflow/test/test-utils/factories/assessment-consolidated-data.ts @@ -109,33 +109,33 @@ export function createFakePartTimeAssessmentConsolidatedData( */ function getDefaultAssessmentConsolidatedData(): AssessmentConsolidatedData { return { - appealsStudentIncomeAppealData: null, - appealsPartnerIncomeAppealData: null, - appealsStudentDisabilityAppealData: null, - appealsStudentAdditionalTransportationAppealData: null, - appealsPartnerInformationAndIncomeAppealData: null, - appealsStudentFinancialInformationAppealData: null, - appealsStudentHasDependentsAppealData: null, - appealsStudentDependantsAppealData: null, + appealsStudentIncomeAppealData: null, // No longer used in PY 26/27 and beyond. + appealsPartnerIncomeAppealData: null, // No longer used in PY 26/27 and beyond. + appealsStudentDisabilityAppealData: null, // No longer used in PY 26/27 and beyond. + appealsStudentAdditionalTransportationAppealData: null, // No longer used in PY 26/27 and beyond. + appealsPartnerInformationAndIncomeAppealData: null, // No longer used in PY 26/27 and beyond. + appealsStudentFinancialInformationAppealData: null, // No longer used in PY 26/27 and beyond. + appealsStudentHasDependentsAppealData: null, // No longer used in PY 26/27 and beyond. + appealsStudentDependantsAppealData: null, // No longer used in PY 26/27 and beyond. appealsRoomAndBoardCostsAppealData: null, appealsStepParentWaiverAppealData: null, - studentDataIsYourPartnerAbleToReport: null, + studentDataIsYourPartnerAbleToReport: null, // No longer used in PY 26/27 and beyond. studentDataParentValidSinNumber: null, studentDataNumberOfParents: null, - studentDataEstimatedSpouseIncome: null, + studentDataEstimatedSpouseIncome: null, // No longer used in PY 26/27 and beyond. studentDataLivingWithPartner: null, studentDataCRAReportedIncome: null, studentDataDependants: null, studentDataGovernmentFundingCosts: null, studentDataNonGovernmentFundingCosts: null, studentDataParentVoluntaryContributionsCosts: null, - studentDataPartnerStudyWeeks: null, - studentDataPartnerEmploymentInsurance: null, - studentDataPartnerFedralProvincialPDReceiptCost: null, - studentDataPartnerChildSupportCosts: null, - studentDataPartnerBCEAIncomeAssistanceAmount: null, - studentDataPartnerCaringForDependant: null, - studentDataPartnerTotalIncomeAssistance: null, + studentDataPartnerStudyWeeks: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerEmploymentInsurance: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerFedralProvincialPDReceiptCost: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerChildSupportCosts: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerBCEAIncomeAssistanceAmount: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerCaringForDependant: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerTotalIncomeAssistance: null, // No longer used in PY 26/27 and beyond. studentDataVoluntaryContributions: null, studentDataScholarshipAmount: null, studentDataChildSupportAndOrSpousalSupport: null, @@ -150,7 +150,7 @@ function getDefaultAssessmentConsolidatedData(): AssessmentConsolidatedData { offeringCourseLoad: null, parent1Contributions: null, parent1Ei: null, - parent1NetAssests: null, + parent1NetAssets: null, parent1Tax: null, parent1TotalIncome: null, parent1DependentTable: [], @@ -161,7 +161,7 @@ function getDefaultAssessmentConsolidatedData(): AssessmentConsolidatedData { parent2CppSelfemploymentOther: null, parent2DependentTable: [], parent2Ei: null, - parent2NetAssests: null, + parent2NetAssets: null, parent2Tax: null, parent2TotalIncome: null, parent2CRAReportedIncome: null, @@ -178,9 +178,9 @@ function getDefaultAssessmentConsolidatedData(): AssessmentConsolidatedData { applicationStatus: null, applicationEditStatus: null, applicationHasNOAApproval: null, - studentDataPartnerHasEmploymentInsuranceBenefits: null, - studentDataPartnerHasFedralProvincialPDReceipt: null, - studentDataPartnerHasTotalIncomeAssistance: null, + studentDataPartnerHasEmploymentInsuranceBenefits: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerHasFedralProvincialPDReceipt: null, // No longer used in PY 26/27 and beyond. + studentDataPartnerHasTotalIncomeAssistance: null, // No longer used in PY 26/27 and beyond. partner1HasEmploymentInsuranceBenefits: null, partner1HasFedralProvincialPDReceipt: null, partner1HasTotalIncomeAssistance: null, From 6369b5fa0346c3f6ba25a7732c9b7d2646d2f147 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Fri, 20 Feb 2026 17:19:53 -0800 Subject: [PATCH 09/12] Added relationship status to failing tests. --- .../parttime-assessment-2026-2027.bpmn | 1 + ...nt-partner-current-year-income.e2e-spec.ts | 2 ++ ...ty-partner-current-year-income.e2e-spec.ts | 25 +++---------------- ...nt-partner-current-year-income.e2e-spec.ts | 3 +++ 4 files changed, 9 insertions(+), 22 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn index 6eda58dead..3b660e8f2f 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/parttime-assessment-2026-2027.bpmn @@ -835,6 +835,7 @@ dmnX (comes from dmn) + Flow_1tcyqyg diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts index 1919ea9be6..63fab543c8 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts @@ -30,6 +30,7 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { currentYearIncome: 20001, }; @@ -52,6 +53,7 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { currentYearIncome: 20001, }; diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts index f9e4ef976c..591acbd8fb 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/eligibility/parttime-assessment-appeal-eligibility-partner-current-year-income.e2e-spec.ts @@ -25,7 +25,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-appeal-eligibili ).toBe(true); }); - it("Should evaluate the partner current year income appeal as not eligible when the student is single and independant.", async () => { + it("Should evaluate the partner current year income appeal as not eligible when the student is single.", async () => { // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); @@ -43,7 +43,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-appeal-eligibili ).toBe(false); }); - it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is other and independant.", async () => { + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is other.", async () => { // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); @@ -61,7 +61,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-appeal-eligibili ).toBe(false); }); - it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is unable to report and independant.", async () => { + it("Should evaluate the partner current year income appeal as not eligible when the student relationship status is unable to report.", async () => { // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); @@ -79,25 +79,6 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-appeal-eligibili ).toBe(false); }); - it("Should evaluate the partner current year income appeal as not eligible when the student is dependant.", async () => { - // Arrange - const assessmentConsolidatedData = - createFakeConsolidatedPartTimeData(PROGRAM_YEAR); - - assessmentConsolidatedData.studentDataDependantstatus = "dependant"; - // Act - const calculatedAssessment = await executePartTimeAssessmentForProgramYear( - PROGRAM_YEAR, - assessmentConsolidatedData, - ); - - // Assert - expect( - calculatedAssessment.variables - .isEligibleForPartnerCurrentYearIncomeAppeal, - ).toBe(false); - }); - afterAll(async () => { // Closes the singleton instance created during test executions. await ZeebeMockedClient.getMockedZeebeInstance().close(); diff --git a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts index f9b84a34c8..1a6c5a3274 100644 --- a/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/parttime-assessment/appeals/parttime-assessment-partner-current-year-income.e2e-spec.ts @@ -10,6 +10,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = null; assessmentConsolidatedData.partner1TotalIncome = 1234; assessmentConsolidatedData.partner1CRAReportedIncome = null; @@ -30,6 +31,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { currentYearIncome: 20001, }; @@ -52,6 +54,7 @@ describe(`E2E Test Workflow parttime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedPartTimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = { currentYearIncome: 20001, }; From 24f9786e2f790035f7869cc94a926b538f39f204 Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Tue, 24 Feb 2026 16:52:54 -0800 Subject: [PATCH 10/12] Test updates. --- .../fulltime-assessment-partner-current-year-income.e2e-spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts index 63fab543c8..f910334b15 100644 --- a/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts +++ b/sources/packages/backend/workflow/test/2026-2027/fulltime-assessment/appeals/fulltime-assessment-partner-current-year-income.e2e-spec.ts @@ -10,6 +10,7 @@ describe(`E2E Test Workflow fulltime-assessment-${PROGRAM_YEAR}-partner-current- // Arrange const assessmentConsolidatedData = createFakeConsolidatedFulltimeData(PROGRAM_YEAR); + assessmentConsolidatedData.studentDataRelationshipStatus = "married"; assessmentConsolidatedData.appealsPartnerCurrentYearIncomeAppealData = null; assessmentConsolidatedData.partner1TotalIncome = 1234; assessmentConsolidatedData.partner1CRAReportedIncome = null; From 5fd70bba82ff1fa71ca60d7a6130aaf18155f33c Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Tue, 24 Feb 2026 17:14:59 -0800 Subject: [PATCH 11/12] Added gateway eligibility changes --- .../src/workflow-definitions/assessment-gateway-v2.bpmn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn index 4b06bdb371..f48dd103ad 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn @@ -904,7 +904,7 @@ Note: the workflow process should continue its execution as a regular reassessme - + From d30f7886958c92b3cce6f6ba261c4df37547327a Mon Sep 17 00:00:00 2001 From: Carly Cotton Date: Wed, 25 Feb 2026 17:28:44 -0800 Subject: [PATCH 12/12] Gateway update and last studentDataPartner path in FT flow. --- .../assessment-gateway-v2.bpmn | 447 +++++++++--------- .../fulltime-assessment-2026-2027.bpmn | 12 +- 2 files changed, 240 insertions(+), 219 deletions(-) diff --git a/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn index f48dd103ad..0c19235f4b 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/assessment-gateway-v2.bpmn @@ -93,21 +93,22 @@ Note: the workflow process should continue its execution as a regular reassessme save-disbursement-task save-assessment-data-part-time-task save-assessment-data-task - Gateway_1hwknxt release-assessment-calculation-message - associate-msfaa-task + Event_0mtgfbi + workflow-wrap-up-task + Event_0w0bgro update-noa-status-to-not-required-task update-noa-status-to-not-required-application-completed-task Gateway_1xse027 Gateway_04wql0w Gateway_0f9knk0 + Gateway_1m2js1c + associate-msfaa-task update-application-status-to-assessment-task update-noa-status-to-required-task - Gateway_1m2js1c - Event_0mtgfbi - workflow-wrap-up-task - Event_0w0bgro - Activity_122mg53 + Gateway_1hwknxt + Activity_0d78x0s + Activity_1vyml74 @@ -210,11 +211,6 @@ Note: the workflow process should continue its execution as a regular reassessme Flow_0wed99j Flow_1izp0bk - - Flow_1izp0bk - Flow_1f8ymzi - Flow_1mpwyku - Flow_1rn6agw Flow_1uh1kyu @@ -303,77 +299,6 @@ Note: the workflow process should continue its execution as a regular reassessme Flow_0358dxp - - - - - - - - Flow_1mpwyku - Flow_1atzf7v - - - - - - - - - Flow_01iq5cw - Flow_0hmh3m7 - - - - - - - - - Flow_1wkpr1a - Flow_1o87o98 - - - Flow_1atzf7v - Flow_1cb5fpw - Flow_1wkpr1a - - - Flow_0p1lgm7 - Flow_0hmh3m7 - Flow_0z518wc - - - Flow_0z518wc - Flow_1o87o98 - Flow_1txrz77 - - - - - - - - - - Flow_1a4wzic - Flow_0mayggl - - - - - - - - - Flow_0mayggl - Flow_0p1lgm7 - - - Flow_1cb5fpw - Flow_1a4wzic - Flow_01iq5cw - Flow_10lg2ud verify-application-exceptions-retry-timer-flow @@ -766,8 +691,8 @@ Note: the workflow process should continue its execution as a regular reassessme - - + + @@ -790,23 +715,9 @@ Note: the workflow process should continue its execution as a regular reassessme - - - =applicationHasNOAApproval = true - - - - =applicationStatus = "Completed" - - - - - - + - - @@ -898,21 +809,123 @@ Note: the workflow process should continue its execution as a regular reassessme - Flow_0toffjh + Flow_1txrz77 Flow_0rkzx2d - - + + + + + + + + Flow_01iq5cw + Flow_0hmh3m7 + + + + + + + + + Flow_1wkpr1a + Flow_1o87o98 + + + Flow_1atzf7v + Flow_1cb5fpw + Flow_1wkpr1a + + + Flow_0p1lgm7 + Flow_0hmh3m7 + Flow_0z518wc + + + Flow_0z518wc + Flow_1o87o98 + Flow_1txrz77 + + + Flow_1cb5fpw + Flow_1a4wzic + Flow_01iq5cw + + + + + + + + + Flow_1mpwyku + Flow_1atzf7v + + + + + + + + + + Flow_1a4wzic + Flow_0mayggl + + + + + + + + + Flow_0mayggl + Flow_0p1lgm7 + + + =applicationHasNOAApproval = true + + + + =applicationStatus = "Completed" + + + + + + + + + + Flow_13rnc99 + Flow_17bbn8b + Flow_1mpwyku + + - + - Flow_1txrz77 - Flow_0toffjh + Flow_1f8ymzi + Flow_13rnc99 + + + + + + + + + + + Flow_1izp0bk + Flow_17bbn8b + @@ -1012,9 +1025,6 @@ Note: the workflow process should continue its execution as a regular reassessme - - - @@ -1052,38 +1062,6 @@ Note: the workflow process should continue its execution as a regular reassessme - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1155,6 +1133,49 @@ Note: the workflow process should continue its execution as a regular reassessme + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1250,10 +1271,6 @@ Note: the workflow process should continue its execution as a regular reassessme - - - - @@ -1349,16 +1366,15 @@ Note: the workflow process should continue its execution as a regular reassessme - - + - + - - + + @@ -1444,55 +1460,9 @@ Note: the workflow process should continue its execution as a regular reassessme - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -1502,18 +1472,6 @@ Note: the workflow process should continue its execution as a regular reassessme - - - - - - - - - - - - @@ -1723,9 +1681,72 @@ Note: the workflow process should continue its execution as a regular reassessme - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn index 740d7006ec..550de35f17 100644 --- a/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn +++ b/sources/packages/backend/workflow/src/workflow-definitions/fulltime-assessment-2026-2027.bpmn @@ -1260,10 +1260,10 @@ Federal Unmet Provincial Need = Provincial portion of Fed Need less Adjusted BCS Student Loan Payments by Partner during the study period can be considered a cost. -Priority to loan reported by partner directly, then by student. Otherwise will be 0. +If the student does not have a partner, this value should be 0. - + Flow_1c0irgd @@ -5237,10 +5237,6 @@ This also brings in the total PY spouse contribution weeks value if it exists. - - - - @@ -5254,6 +5250,10 @@ This also brings in the total PY spouse contribution weeks value if it exists. + + + +