-
Notifications
You must be signed in to change notification settings - Fork 163
feat: remove "Create Zendesk Tickets for suspicious attempts" setting from Proctored Exam Settings #2517
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
Open
santhosh-apphelix-2u
wants to merge
23
commits into
openedx:master
Choose a base branch
from
santhosh-apphelix-2u:COSMO2-110-zendesk-removal
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat: remove "Create Zendesk Tickets for suspicious attempts" setting from Proctored Exam Settings #2517
Changes from 20 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
be94bcd
chore: Refactor proctoring provider handling in Settings
santhosh-apphelix-2u 6f8a9e6
Merge branch 'openedx:master' into master
santhosh-apphelix-2u da94636
chore: Skip Zendesk ticket tests for deprecated provider
santhosh-apphelix-2u fd78dd6
chore: Skip proctortrack related tests in Settings.test.jsx
santhosh-apphelix-2u 19a279e
chore: Skip tests for Proctortrack deprecation
santhosh-apphelix-2u e1f198c
chore: Skip alert test for invalid proctoring escalation email
santhosh-apphelix-2u be50450
chore: Update test to select escalation email by display value
santhosh-apphelix-2u 9942e16
chore: Remove deprecated Proctortrack tests from Settings.test.jsx
santhosh-apphelix-2u e828d95
Merge branch 'openedx:master' into master
santhosh-apphelix-2u 60af877
feat: remove Create Zendesk Tickets for suspicious attempts setting f…
santhosh-apphelix-2u a7c60e0
feat: Remove create_zendesk_tickets from test settings
santhosh-apphelix-2u c834e8d
chore: Update proctoring provider logic in Settings.jsx
santhosh-apphelix-2u d656b94
chore: Update proctoring escalation email tests
santhosh-apphelix-2u 5cd57dd
chore: Fix indentation in proctoring settings test
santhosh-apphelix-2u fa576c8
chore: Refactor proctoring provider handling in Settings
santhosh-apphelix-2u 9ecc0ef
chore: Fix test case description formatting for proctoring
santhosh-apphelix-2u 2a65c96
chore: Remove unnecessary whitespace in Settings.test.jsx
santhosh-apphelix-2u 1af31bb
chore: Remove create_zendesk_tickets from settings test
santhosh-apphelix-2u 31e9e7c
chore: Update proctoring settings handling
santhosh-apphelix-2u d9e6a4a
Merge branch 'openedx:master' into COSMO2-110-zendesk-removal
santhosh-apphelix-2u 92b9807
chore: Enable test for escalation email field visibility
santhosh-apphelix-2u a1ea9dc
chore: Remove unnecessary blank line in Settings.test.jsx
santhosh-apphelix-2u af03a5f
feat: Remove createZendeskTickets from settings
santhosh-apphelix-2u File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -105,36 +105,6 @@ describe('ProctoredExamSettings', () => { | |
| await act(async () => render(intlWrapper(<IntlProctoredExamSettings {...defaultProps} />))); | ||
| }); | ||
|
|
||
| it('Updates Zendesk ticket field if proctortrack is provider', async () => { | ||
| await waitFor(() => { | ||
| screen.getByDisplayValue('mockproc'); | ||
| }); | ||
| const selectElement = screen.getByDisplayValue('mockproc'); | ||
| fireEvent.change(selectElement, { target: { value: 'proctortrack' } }); | ||
| const zendeskTicketInput = screen.getByTestId('createZendeskTicketsNo'); | ||
| expect(zendeskTicketInput.checked).toEqual(true); | ||
| }); | ||
|
|
||
| it('Updates Zendesk ticket field if software_secure is provider', async () => { | ||
| await waitFor(() => { | ||
| screen.getByDisplayValue('mockproc'); | ||
| }); | ||
| const selectElement = screen.getByDisplayValue('mockproc'); | ||
| fireEvent.change(selectElement, { target: { value: 'software_secure' } }); | ||
| const zendeskTicketInput = screen.getByTestId('createZendeskTicketsYes'); | ||
| expect(zendeskTicketInput.checked).toEqual(true); | ||
| }); | ||
|
|
||
| it('Does not update zendesk ticket field for any other provider', async () => { | ||
| await waitFor(() => { | ||
| screen.getByDisplayValue('mockproc'); | ||
| }); | ||
| const selectElement = screen.getByDisplayValue('mockproc'); | ||
| fireEvent.change(selectElement, { target: { value: 'mockproc' } }); | ||
| const zendeskTicketInput = screen.getByTestId('createZendeskTicketsYes'); | ||
| expect(zendeskTicketInput.checked).toEqual(true); | ||
| }); | ||
|
|
||
| it('Hides all other fields when enabledProctorExam is false when first loaded', async () => { | ||
| cleanup(); | ||
| // Overrides the handler defined in beforeEach. | ||
|
|
@@ -161,8 +131,6 @@ describe('ProctoredExamSettings', () => { | |
| expect(screen.queryByText('Allow Opting Out of Proctored Exams')).toBeNull(); | ||
| expect(screen.queryByDisplayValue('mockproc')).toBeNull(); | ||
| expect(screen.queryByTestId('escalationEmail')).toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsYes')).toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsNo')).toBeNull(); | ||
| }); | ||
|
|
||
| it('Hides all other fields when enableProctoredExams toggled to false', async () => { | ||
|
|
@@ -172,8 +140,6 @@ describe('ProctoredExamSettings', () => { | |
| expect(screen.queryByText('Allow opting out of proctored exams')).toBeDefined(); | ||
| expect(screen.queryByDisplayValue('mockproc')).toBeDefined(); | ||
| expect(screen.queryByTestId('escalationEmail')).toBeDefined(); | ||
| expect(screen.queryByTestId('createZendeskTicketsYes')).toBeDefined(); | ||
| expect(screen.queryByTestId('createZendeskTicketsNo')).toBeDefined(); | ||
|
|
||
| let enabledProctoredExamCheck = screen.getAllByLabelText('Proctored exams', { exact: false })[0]; | ||
| expect(enabledProctoredExamCheck.checked).toEqual(true); | ||
|
|
@@ -183,8 +149,6 @@ describe('ProctoredExamSettings', () => { | |
| expect(screen.queryByText('Allow opting out of proctored exams')).toBeNull(); | ||
| expect(screen.queryByDisplayValue('mockproc')).toBeNull(); | ||
| expect(screen.queryByTestId('escalationEmail')).toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsYes')).toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsNo')).toBeNull(); | ||
| }); | ||
|
|
||
| it('Hides unsupported fields when lti provider is selected', async () => { | ||
|
|
@@ -349,7 +313,8 @@ describe('ProctoredExamSettings', () => { | |
| expect(screen.queryByTestId('escalationEmail')).toBeNull(); | ||
| }); | ||
|
|
||
| it(`Escalation email Field Show when proctoring backend is switched back to ${provider}`, async () => { | ||
| // Test skipped due to Proctortrack deprecation | ||
| it.skip(`Escalation email Field Show when proctoring backend is switched back to ${provider}`, async () => { | ||
santhosh-apphelix-2u marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| await waitFor(() => { | ||
| screen.getByDisplayValue('proctortrack'); | ||
| }); | ||
|
|
@@ -527,18 +492,16 @@ describe('ProctoredExamSettings', () => { | |
| }); | ||
|
|
||
| describe('Toggles field visibility based on user permissions', () => { | ||
| it('Hides opting out and zendesk tickets for non edX staff', async () => { | ||
| it('Hides opting out for non edX staff', async () => { | ||
| setupApp(false); | ||
| await act(async () => render(intlWrapper(<IntlProctoredExamSettings {...defaultProps} />))); | ||
| expect(screen.queryByTestId('allowOptingOutYes')).toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsYes')).toBeNull(); | ||
| }); | ||
|
|
||
| it('Shows opting out and zendesk tickets for edX staff', async () => { | ||
| it('Shows opting out for edX staff', async () => { | ||
| setupApp(true); | ||
| await act(async () => render(intlWrapper(<IntlProctoredExamSettings {...defaultProps} />))); | ||
| expect(screen.queryByTestId('allowOptingOutYes')).not.toBeNull(); | ||
| expect(screen.queryByTestId('createZendeskTicketsYes')).not.toBeNull(); | ||
| }); | ||
| }); | ||
|
|
||
|
|
@@ -624,7 +587,6 @@ describe('ProctoredExamSettings', () => { | |
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'proctortrack', | ||
| proctoring_escalation_email: '[email protected]', | ||
| create_zendesk_tickets: false, | ||
| }, | ||
| }); | ||
|
|
||
|
|
@@ -651,7 +613,6 @@ describe('ProctoredExamSettings', () => { | |
| enable_proctored_exams: true, | ||
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'mockproc', | ||
| create_zendesk_tickets: true, | ||
| }, | ||
| }); | ||
|
|
||
|
|
@@ -692,7 +653,6 @@ describe('ProctoredExamSettings', () => { | |
| enable_proctored_exams: true, | ||
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'lti_external', | ||
| create_zendesk_tickets: true, | ||
| }, | ||
| }); | ||
|
|
||
|
|
@@ -722,7 +682,6 @@ describe('ProctoredExamSettings', () => { | |
| enable_proctored_exams: true, | ||
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'mockproc', | ||
| create_zendesk_tickets: true, | ||
| }, | ||
| }); | ||
|
|
||
|
|
@@ -744,7 +703,6 @@ describe('ProctoredExamSettings', () => { | |
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'mockproc', | ||
| proctoring_escalation_email: '[email protected]', | ||
| create_zendesk_tickets: true, | ||
| }, | ||
| available_proctoring_providers: ['software_secure', 'proctortrack', 'mockproc'], | ||
| course_start_date: '2070-01-01T00:00:00Z', | ||
|
|
@@ -762,7 +720,6 @@ describe('ProctoredExamSettings', () => { | |
| enable_proctored_exams: true, | ||
| allow_proctoring_opt_out: false, | ||
| proctoring_provider: 'mockproc', | ||
| create_zendesk_tickets: true, | ||
| }, | ||
| }); | ||
|
|
||
|
|
@@ -862,27 +819,5 @@ describe('ProctoredExamSettings', () => { | |
| expect(document.activeElement).toEqual(successAlert); | ||
| }); | ||
| }); | ||
|
|
||
| it('Include Zendesk ticket in post request if user is not an admin', async () => { | ||
| // use non-admin user for test | ||
| const isAdmin = false; | ||
| setupApp(isAdmin); | ||
|
|
||
| await act(async () => render(intlWrapper(<IntlProctoredExamSettings {...defaultProps} />))); | ||
| // Make a change to the proctoring provider | ||
| const selectElement = screen.getByDisplayValue('mockproc'); | ||
| fireEvent.change(selectElement, { target: { value: 'proctortrack' } }); | ||
| const submitButton = screen.getByTestId('submissionButton'); | ||
| fireEvent.click(submitButton); | ||
| expect(axiosMock.history.post.length).toBe(1); | ||
| expect(JSON.parse(axiosMock.history.post[0].data)).toEqual({ | ||
| proctored_exam_settings: { | ||
| enable_proctored_exams: true, | ||
| proctoring_provider: 'proctortrack', | ||
| proctoring_escalation_email: '[email protected]', | ||
| create_zendesk_tickets: false, | ||
| }, | ||
| }); | ||
| }); | ||
| }); | ||
| }); | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.