Skip to content

Conversation

@andrewsignori-aot
Copy link
Collaborator

@andrewsignori-aot andrewsignori-aot commented Aug 27, 2025

  • Created new role student-cancel-disbursement-schedule.
  • Created new API endpoint for disbursement schedules (placeholder for upcoming PR).
  • Included in the assessment summary API payload the below new values:
    • disbursementReceipt[n]Received: indicates if a receipt was received. Note: full-time final awards are retrieved when a receipt is received, and part-time are displayed upon e-Cert creation. This new variable indicates when a receipt was received, not when a final award was returned.
    • disbursementReceipt[n]HasAwards: added to indicate when an award is present in the payload. Previously, only awards were present in this payload, and they were dynamically created. Adding the boolean makes it easier to identify when awards are present, avoiding inspecting the object structure as was done before. The examples for the payloads with the new variables were updated and can be seen across many E2E tests.
  • Created a new component StatusInfoDisbursementCancellation to display the information when a disbursement is cancelled, following a similar idea from the StatusInfoEnrolment.
  • Created a new component CancelDisbursementSchedule following the same idea from ConfirmEnrolment.
  • Created the generic modal user-note-confirm-modal to allow modal confirmation, including a user note. Its usage can be checked in the CancelDisbursementSchedule.vue.

Please note

1. Changes executed in the methods retrieving the data for the summary page were executed, trying to keep the current dynamic behavior. Additional changes can be made to make a hybrid object model between dynamic and non-dynamic properties, but it was not considered worthwhile as part of this effort.
2. Some UI changes are pending decision, but no major adaptations are expected.

Ministry View

Full-time, Final award, e-Cert Sent, no receipts

image

Full-time, Final award, e-Cert Rejected, no receipts

image

Full-time, Final award, e-Cert Pending, no receipts

image

Full-time, Final award, e-Cert Pending, with receipts

image

Cancel eCert modal

image

Buttons and icons adjustments

image

@andrewsignori-aot andrewsignori-aot marked this pull request as ready for review August 30, 2025 00:52
@dheepak-aot dheepak-aot self-requested a review September 3, 2025 12:25
Comment on lines 52 to 55
/**
* Indicates which disbursement schedule statuses have
* the potential to generate a receipt.
*/
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is Rejected considered as a potential status to generate e-cert? If no, can we update the description and also the constant name?

Copy link
Collaborator Author

@andrewsignori-aot andrewsignori-aot Sep 3, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rejected is considered a status where receipts could exist, which means that Sent or Reject disbursements may have receipts associated with a disbursement.
Is the use of the word "generate" misleading? I can rephrase as

Indicates which disbursement schedule statuses are expected to have some receipts generated.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment improved.

Comment on lines 33 to 38
console.log(
"Cancelling disbursement schedule:",
disbursementScheduleId,
payload,
);
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove the console log.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part of the temporary code to be replaced with the real implementation. I did not see any harm in keeping it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove to prevent noise in the PR.

Comment on lines +101 to +102
export * from "./disbursement-schedule/disbursement-schedule.aest.controller";
export * from "./disbursement-schedule/models/disbursement-schedule.dto";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will it be better if we import the DTO before the controller so that when we use imports from index we could potentially avoid conflicts.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not understand this at first, but is there any technical reason to enforce the order?

@bidyashish bidyashish self-requested a review September 3, 2025 18:47
Copy link
Contributor

@bidyashish bidyashish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good,
Please look at comments.

// Arrange
const [enrolmentDate1, enrolmentDate2] = [addDays(1), addDays(30)];
const [statusUpdatedOn1, statusUpdatedOn2] = [addDays(2), addDays(31)];
// Student has an application to the institution eligible for NOA.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[addDays(2), addDays(31)]; whats the need to make it to 31.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea was to ensure the dates were different to ensure the expected ones would be returned.

import { Ref, ref } from "vue";

export function useModalDialog<T, TParameter = any>() {
export function useModalDialog<T, TParameter = unknown>() {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

:allow-disbursement-cancellation="allowDisbursementCancellation"
:allow-final-award-extended-information="allowFinalAwardExtendedInformation"
@confirmEnrolment="$emit('confirmEnrolment', $event)"
@confirm-enrolment="$emit('confirmEnrolment', $event)"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 3, 2025

Quality Gate Failed Quality Gate failed

Failed conditions
6.0% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@github-actions
Copy link

github-actions bot commented Sep 3, 2025

Backend Unit Tests Coverage Report

Totals Coverage
Statements: 21.44% ( 4123 / 19227 )
Methods: 9.5% ( 233 / 2452 )
Lines: 24.81% ( 3570 / 14391 )
Branches: 13.42% ( 320 / 2384 )

@github-actions
Copy link

github-actions bot commented Sep 3, 2025

E2E Workflow Workers Coverage Report

Totals Coverage
Statements: 74.32% ( 897 / 1207 )
Methods: 77.14% ( 108 / 140 )
Lines: 77.19% ( 697 / 903 )
Branches: 56.1% ( 92 / 164 )

@github-actions
Copy link

github-actions bot commented Sep 3, 2025

E2E Queue Consumers Coverage Report

Totals Coverage
Statements: 86.43% ( 1548 / 1791 )
Methods: 84.62% ( 176 / 208 )
Lines: 88.75% ( 1278 / 1440 )
Branches: 65.73% ( 94 / 143 )

@github-actions
Copy link

github-actions bot commented Sep 3, 2025

E2E SIMS API Coverage Report

Totals Coverage
Statements: 74.12% ( 7416 / 10006 )
Methods: 71.65% ( 905 / 1263 )
Lines: 77.55% ( 5747 / 7411 )
Branches: 57.36% ( 764 / 1332 )

Copy link
Collaborator

@dheepak-aot dheepak-aot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the changes and bringing improvements to existing framework. Looks good 👍

@andrewsignori-aot andrewsignori-aot added this pull request to the merge queue Sep 3, 2025
Merged via the queue into main with commit 993f9b7 Sep 3, 2025
21 of 22 checks passed
@andrewsignori-aot andrewsignori-aot deleted the feature/#4378-e-cert-cancellation-ui-and-ministry-access branch September 3, 2025 21:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants