Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions plugins/course-apps/xpert_unit_summary/Settings.test.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -206,31 +206,31 @@ describe('XpertUnitSummarySettings', () => {
});
});

describe('removing course configuration', () => {
describe('disabling course configuration', () => {
beforeEach(() => {
axiosMock.onGet(API.getXpertSettingsUrl(courseId))
.reply(200, generateCourseLevelAPIResponse({
success: true,
enabled: true,
}));

axiosMock.onDelete(API.getXpertSettingsUrl(courseId))
axiosMock.onPost(API.getXpertSettingsUrl(courseId))
.reply(200, generateCourseLevelAPIResponse({
success: true,
enabled: undefined,
enabled: false,
}));

renderComponent();
});

test('Deleting course configuration', async () => {
jest.spyOn(API, 'deleteXpertSettings');
test('Disabling course configuration', async () => {
jest.spyOn(API, 'postXpertSettings');

await waitFor(() => expect(container.querySelector('#enable-xpert_unit_summary-toggle')).toBeTruthy());
fireEvent.click(container.querySelector('#enable-xpert_unit_summary-toggle'));
fireEvent.click(getByText(container, 'Save'));
await waitFor(() => expect(container.querySelector('#enable-xpert_unit_summary-toggle')).toBeTruthy());
expect(API.deleteXpertSettings).toBeCalled();
expect(API.postXpertSettings).toBeCalledWith(courseId, { enabled: false });
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ import { updateSavingStatus, updateResetStatus } from 'CourseAuthoring/pages-and
import AppConfigFormDivider from 'CourseAuthoring/pages-and-resources/discussions/app-config-form/apps/shared/AppConfigFormDivider';
import { PagesAndResourcesContext } from 'CourseAuthoring/pages-and-resources/PagesAndResourcesProvider';

import { updateXpertSettings, resetXpertSettings, removeXpertSettings } from '../data/thunks';
import { updateXpertSettings, resetXpertSettings } from '../data/thunks';
import messages from './messages';
import appInfo from '../appInfo';
import ResetIcon from './ResetIcon';
Expand Down Expand Up @@ -235,13 +235,11 @@ const SettingsModal = ({

const handleFormSubmit = async ({ enabled, checked, ...rest }) => {
let success;
const values = { ...rest, enabled: enabled ? checked === 'true' : undefined };
const values = { ...rest, enabled: enabled ? checked === 'true' : false };

if (enabled) {
success = await dispatch(updateXpertSettings(courseId, values));
} else {
success = await dispatch(removeXpertSettings(courseId));
}
// Always update settings to save the enabled state (true/false)
// Don't delete the record when disabling, as that would fall back to system default
success = await dispatch(updateXpertSettings(courseId, values));

if (onSettingsSave) {
success = success && await onSettingsSave(values);
Expand Down
Loading