-
Notifications
You must be signed in to change notification settings - Fork 169
refactor: Replace ProctorTrack references with Generic Checks #2645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@kdmccormick Please take a look. @arbirali will update test cases shortly. Also note that we have not removed the zendesk part because it is being done here: #2517 |
kdmccormick
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple notes, but otherwise the approach looks good.
| setSubmissionInProgress(false); | ||
| setCourseStartDate(settingsResponse.data.course_start_date); | ||
| setAvailableProctoringProviders(settingsResponse.data.available_proctoring_providers); | ||
| setAllowedProctoringEscalationEmail(settingsResponse.data.requires_escalation_email_providers); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For consistency, could we call it setRequiresEscalationEmailProviders ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
setAllowedProctoringEscalationEmail renamed to setRequiresEscalationEmailProviders for consistency.
|
|
||
| if (value === 'proctortrack') { | ||
| if (allowedProctoringEscalationEmail.includes(value)) { | ||
| setFormValues({ ...newFormValues, createZendeskTickets: false }); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| setFormValues({ ...newFormValues, createZendeskTickets: false }); | |
| setFormValues({ ...newFormValues }); |
Since the zendesk integration is deprecated, it's safe to just remove createZendeskTickets from here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
createZendeskTickets is removed now.
cc5c9ec to
d488223
Compare
f61c46a to
fbc4c0b
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2645 +/- ##
==========================================
+ Coverage 94.82% 94.85% +0.03%
==========================================
Files 1231 1232 +1
Lines 27629 27870 +241
Branches 6221 6304 +83
==========================================
+ Hits 26199 26436 +237
- Misses 1359 1363 +4
Partials 71 71 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
kdmccormick
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @arbirali . The code looks good.
Some of the PR description is not quite right. We are still doing client-side validation. What has changed is: before, we were explicitly checking for the Proctortrak provider, but now, we are using generic proctoring configuration settings. Can you modify your PR description?
Once openedx/edx-platform#37576 has merged, then I'll test this, approve it, and merge.
|
@arbirali @mlabeeb03 , could you please provide screenshots to show that you have manually verified that this change and the backend change work together? Please test all the scenarios:
Let me know if you're unsure of how to test any of those points or if you think any of them are infeasible/unnecessary to test. |
|
(1-3) Great ✅ (4-6) Right, my mistake. Is it the case that show_review_rules was purely a backend change? If so, then @mlabeeb03 can you provide some testing screenshots at some point to show that the backend changes has been validated? (7) Great ✅ (8) I'll take a look. I think 2U is well-positioned to test lti_external. I'll ping them and cc you. (9) Great ✅ |
|
@kdmccormick I tested the |
|
@mlabeeb03 The review rules are configurable on the actual proctored exam subsection, rather than the course-wide proctoring settings page. Check out this doc, which mentions the Review Rules field: https://docs.openedx.org/en/latest/educators/how-tos/proctored_exams/create_proctored_exam_rpnow.html . The doc is specific to the RPNow provider, but I think the same flow should apply for any provider where |
|
@kdmccormick thanks, PFA the screenshots, I've also verified the return value from the API.
|







Description
This pull request removes frontend-level handling of the ProctorTrack proctoring provider from the frontend-app-authoring application.
As part of the broader ProctorTrack deprecation effort (openedx/edx-platform#36329
), the backend now provides generic proctoring configuration rules instead of vendor-specific conditions. The frontend has been updated to rely on these generic rules while still performing client-side validation.
By removing the ProctorTrack-specific logic and using the backend’s generic configuration model, this change keeps frontend-app-authoring aligned with current backend behavior and avoids relying on deprecated vendor-specific handling.
Supporting information
This change depends on backend updates described in openedx/edx-platform#36329, which provide generic proctoring configuration rules that the frontend now uses instead of ProctorTrack-specific checks.
Best Practices Checklist
Please check if your PR meets these recommendations before asking for a review:
.ts,.tsx).propTypesanddefaultPropsin any new or modified code.src/testUtils.tsx(specificallyinitializeMocks)apiHooks.tsin this repo for examples.messages.tsfiles have adescriptionfor translators to use.../in import paths. To import from parent folders, use@src, e.g.import { initializeMocks } from '@src/testUtils';instead offrom '../../../../testUtils'