bcgov / bcgov/SIMS

Investigate Intermittent API E2E Tests Failures

Open
#3,652 1 comment 0 reactions 1 assignee Claimed by @andrewsignori-aot View on GitHub
Dev & Architecture Task
Dominant language
TypeScript
Stars
29
Forks
15
PR merge metrics
No merged PRs in 30d

Description

**Describe the task**
API E2E tests have been failing intermittently in CI/CD probably because of database data conflicts.

**Acceptance Criteria**
- [ ] Investigate the possible cause of failures in the API tests mentioned in the `Errors examples`.
- [ ] Resolve the issues as much as possible or create tickets to provide a solution.

### Most recent errors
```
FAIL src/route-controllers/report/_tests_/e2e/report.aest.controller.exportReport.e2e-spec.ts (50.064 s)
● ReportAestController(e2e)-exportReport › Should generate the Program and Offering Status report when a report generation is made with the appropriate date range filters and both full time and part time options are considered and the SABC code is entered for an institution with one location and three education programs of different program intensities having offerings of different intensities and one program without offerings.

expect(received).toEqual(expected) // deep equality

Expected: ArrayContaining [{"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Full Time", "Offering Name": "Auto", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Metrics", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-17", "Study Start Date": "2025-03-18", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Full Time", "Offering Name": "Arkansas", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Quality", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-18", "Study Start Date": "2025-03-19", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Part Time", "Offering Name": "Dinar", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Quality", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-19", "Study Start Date": "2025-03-20", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "", "Offering Name": "", "Offering Status": "", "Offering Type": "", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Implementation", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "", "Study Start Date": "", "Year of Study": ""}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "", "Offering Name": "", "Offering Status": "", "Offering Type": "", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Optimization", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "", "Study Start Date": "", "Year of Study": ""}]
Received: [{"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "", "Offering Name": "", "Offering Status": "", "Offering Type": "", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Implementation", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "", "Study Start Date": "", "Year of Study": ""}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Full Time", "Offering Name": "Auto", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Metrics", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-17", "Study Start Date": "2025-03-18", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Part Time", "Offering Name": "Awesome", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Optimization", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-06-19", "Study Start Date": "2025-04-20", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Full Time", "Offering Name": "Arkansas", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Quality", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-18", "Study Start Date": "2025-03-19", "Year of Study": "1"}, {"Credential Type": "credentialType", "Credit or Hours": "courseLoadCalculation", "Delivery": "On-site", "Institution Location Name": "Gutmann LLC", "Offering Intensity": "Part Time", "Offering Name": "Dinar", "Offering Status": "Approved", "Offering Type": "Public", "Program Deactivated?": "false", "Program Expiry Date": "", "Program Length": "completionYears", "Program Name": "Quality", "Program Status": "Approved", "Regulatory Body": "regulatoryBody", "SABC Program Code": "ABCD", "Study End Date": "2025-04-19", "Study Start Date": "2025-03-20", "Year of Study": "1"}]

1044 | header: true,
1045 | });
> 1046 | expect(parsedResult.data).toEqual(
| ^
1047 | expect.arrayContaining([
1048 | offeringToResultData(fakeOfferingFullTime1),
1049 | offeringToResultData(fakeOfferingFullTime2),

at src/route-controllers/report/_tests_/e2e/report.aest.controller.exportReport.e2e-spec.ts:1046:37
at Object. (src/route-controllers/report/_tests_/e2e/report.aest.controller.exportReport.e2e-spec.ts:1036:7)
```

### Errors examples (the below ones are expired)
- https://github.com/bcgov/SIMS/actions/runs/10515952782/job/29138077337?pr=3649
- https://github.com/bcgov/SIMS/actions/runs/10583266781/job/29324884569?pr=3655
- https://github.com/bcgov/SIMS/actions/runs/10692851852/job/29642022844?pr=3671
- https://github.com/bcgov/SIMS/actions/runs/10815346193/job/30004010422?pr=3679

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.