* feat: add language selection chore: update tests so we have less error message test: update test * test: update tests * chore: remove duplicate translation * chore: lint for console * chore: remove comments * chore: make sure the affect url frame refresh after the language selection change * chore: add whole_course_translation and language to courseware meta (#1305) * feat: Add feedback widget UI mock Add unit tests Fix snapshot Clean Sequence component logEvent calls Clean unit test Put feedback widget behind whole course translation flag Fix useFeedbackWidget test * chore: add src and dest translation * feat: first iteration of plugin translation chore: update plugin instruction * feat: Connect FeedbackWidget with backend services (#1325) Connect FeedbackWidget with backend services Move feedback widget to unit translation plugin * feat: Add authentication to WCT feedback endpoints (#1329) * chore: add fetch config and move feedback widget for the plugin chore: rewrite and test the api request chore: rebase chore: update translation feedback chore: test chore: add more tests * chore: rebase * chore: update requested change * chore: update package * chore: upgrade frontend-lib-special-exams and frontend-lib-learning-assistant * chore: update tests * chore: remove unneeded package * chore: update example config * chore: add source-map-loader * fix: feedback widget render error after submit feedback (#1335) * fix: feedback widget render error after submit feedback * fix: widget logic --------- Co-authored-by: Rodrigo Martin <rodrigom_94@hotmail.com>
60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
import { shallow } from '@edx/react-unit-test-utils';
|
|
|
|
import TranslationModal from './TranslationModal';
|
|
|
|
jest.mock('./useTranslationModal', () => ({
|
|
__esModule: true,
|
|
default: () => ({
|
|
selectedIndex: 0,
|
|
setSelectedIndex: jest.fn(),
|
|
onSubmit: jest.fn().mockName('onSubmit'),
|
|
}),
|
|
}));
|
|
jest.mock('@openedx/paragon', () => jest.requireActual('@edx/react-unit-test-utils').mockComponents({
|
|
StandardModal: 'StandardModal',
|
|
ActionRow: {
|
|
Spacer: 'Spacer',
|
|
},
|
|
Button: 'Button',
|
|
Icon: 'Icon',
|
|
ListBox: 'ListBox',
|
|
ListBoxOption: 'ListBoxOption',
|
|
}));
|
|
jest.mock('@openedx/paragon/icons', () => ({
|
|
Check: jest.fn().mockName('icons.Check'),
|
|
}));
|
|
jest.mock('@edx/frontend-platform/i18n', () => {
|
|
const i18n = jest.requireActual('@edx/frontend-platform/i18n');
|
|
const { formatMessage } = jest.requireActual('@edx/react-unit-test-utils');
|
|
return {
|
|
...i18n,
|
|
useIntl: jest.fn(() => ({
|
|
formatMessage,
|
|
})),
|
|
};
|
|
});
|
|
|
|
describe('TranslationModal', () => {
|
|
const props = {
|
|
isOpen: true,
|
|
close: jest.fn().mockName('close'),
|
|
selectedLanguage: 'en',
|
|
setSelectedLanguage: jest.fn().mockName('setSelectedLanguage'),
|
|
availableLanguages: [
|
|
{
|
|
code: 'en',
|
|
label: 'English',
|
|
},
|
|
{
|
|
code: 'es',
|
|
label: 'Spanish',
|
|
},
|
|
],
|
|
};
|
|
it('renders correctly', () => {
|
|
const wrapper = shallow(<TranslationModal {...props} />);
|
|
expect(wrapper.snapshot).toMatchSnapshot();
|
|
expect(wrapper.instance.findByType('ListBoxOption')).toHaveLength(2);
|
|
});
|
|
});
|