diff --git a/Makefile b/Makefile index f03de052..97ff90ad 100755 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ npm-install-%: ## install specified % npm package git add package.json transifex_resource = frontend-app-ora-grading -transifex_langs = "ar,fr,es_419,zh_CN,fr_CA,it_IT,pt_PT,de_DE,uk,ru,hi" +transifex_langs = "ar,de_DE,es_419,fa_IR,fr,fr_CA,hi,it_IT,pt_PT,uk,ru,zh_CN" intl_imports = ./node_modules/.bin/intl-imports.js transifex_utils = ./node_modules/.bin/transifex-utils.js diff --git a/documentation/.ci.yml.md b/documentation/.ci.yml.md index b3f8c0fc..833de97b 100755 --- a/documentation/.ci.yml.md +++ b/documentation/.ci.yml.md @@ -26,4 +26,3 @@ There are only two requirements for a good `make target` name What `make validate-no-uncommitted-package-lock-changes` does is `git diff`s for any `package-lock.json` file changes in your project. This is important because `npm` uses the pinned dependencies in your `package-lock.json` file to build the `node_modules` directory. However, the dependencies defined within the `package.json` file can be modified manually, for example, to become misaligned with the dependencies defined within the `package-lock.json`. So when `npm install` executes, the `package-lock.json` file will be updated to mirror the modified `package.json` changes. - diff --git a/src/components/FilePreview/FileCard.scss b/src/components/FilePreview/FileCard.scss index a515b59a..90456428 100644 --- a/src/components/FilePreview/FileCard.scss +++ b/src/components/FilePreview/FileCard.scss @@ -28,6 +28,6 @@ @include media-breakpoint-down(sm) { .file-card-title { - width: map-get($container-max-widths, "sm")/2; + width: calc(map-get($container-max-widths, "sm")/2); } } \ No newline at end of file diff --git a/src/containers/CriterionContainer/CriterionFeedback.test.jsx b/src/containers/CriterionContainer/CriterionFeedback.test.jsx index 7798e9ac..42f83971 100644 --- a/src/containers/CriterionContainer/CriterionFeedback.test.jsx +++ b/src/containers/CriterionContainer/CriterionFeedback.test.jsx @@ -163,7 +163,7 @@ describe('Criterion Feedback', () => { }); describe('mapStateToProps', () => { - const testState = { abitaryState: 'some data' }; + const testState = { arbitraryState: 'some data' }; const ownProps = { orderNum: props.orderNum }; let mapped; beforeEach(() => { diff --git a/src/containers/CriterionContainer/RadioCriterion.test.jsx b/src/containers/CriterionContainer/RadioCriterion.test.jsx index 6ad0b862..5ec992d8 100644 --- a/src/containers/CriterionContainer/RadioCriterion.test.jsx +++ b/src/containers/CriterionContainer/RadioCriterion.test.jsx @@ -40,14 +40,14 @@ describe('Radio Criterion Container', () => { feedback: 'feedback mock', options: [ { - explanation: 'explaination', + explanation: 'explanation', feedback: 'option feedback', label: 'this label', name: 'option name', points: 1, }, { - explanation: 'explaination 2', + explanation: 'explanation 2', feedback: 'option feedback 2', label: 'this label 2', name: 'option name 2', @@ -129,7 +129,7 @@ describe('Radio Criterion Container', () => { }); describe('mapStateToProps', () => { - const testState = { arbitary: 'some data' }; + const testState = { arbitrary: 'some data' }; const ownProps = { orderNum: props.orderNum }; let mapped; beforeEach(() => { diff --git a/src/containers/CriterionContainer/ReviewCriterion.test.jsx b/src/containers/CriterionContainer/ReviewCriterion.test.jsx index 80a11342..e5142805 100644 --- a/src/containers/CriterionContainer/ReviewCriterion.test.jsx +++ b/src/containers/CriterionContainer/ReviewCriterion.test.jsx @@ -29,14 +29,14 @@ describe('Review Crition Container', () => { feedback: 'feedback mock', options: [ { - explanation: 'explaination', + explanation: 'explanation', feedback: 'option feedback', label: 'this label', name: 'option name', points: 1, }, { - explanation: 'explaination 2', + explanation: 'explanation 2', feedback: 'option feedback 2', label: 'this label 2', name: 'option name 2', @@ -78,7 +78,7 @@ describe('Review Crition Container', () => { }); describe('mapStateToProps', () => { - const testState = { arbitary: 'some data' }; + const testState = { arbitrary: 'some data' }; const ownProps = { orderNum: props.orderNum }; let mapped; beforeEach(() => { diff --git a/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap b/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap index fbc78b65..bb247efa 100644 --- a/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap +++ b/src/containers/CriterionContainer/__snapshots__/index.test.jsx.snap @@ -19,7 +19,7 @@ exports[`Criterion Container snapshot is graded and is not grading 1`] = ` this label
- explaination + explanation

- explaination 2 + explanation 2
@@ -67,7 +67,7 @@ exports[`Criterion Container snapshot is ungraded and is grading 1`] = ` this label
- explaination + explanation

- explaination 2 + explanation 2
@@ -115,7 +115,7 @@ exports[`Criterion Container snapshot is ungraded and is not grading 1`] = ` this label
- explaination + explanation

- explaination 2 + explanation 2
diff --git a/src/containers/CriterionContainer/index.test.jsx b/src/containers/CriterionContainer/index.test.jsx index de3842e3..29ee211a 100644 --- a/src/containers/CriterionContainer/index.test.jsx +++ b/src/containers/CriterionContainer/index.test.jsx @@ -34,14 +34,14 @@ describe('Criterion Container', () => { feedback: 'feedback mock', options: [ { - explanation: 'explaination', + explanation: 'explanation', feedback: 'option feedback', label: 'this label', name: 'option name', points: 2, }, { - explanation: 'explaination 2', + explanation: 'explanation 2', feedback: 'option feedback 2', label: 'this label 2', name: 'option name 2', @@ -89,16 +89,16 @@ describe('Criterion Container', () => { }); test('is ungraded and is grading (Radio criterion get render)', () => { - const rubricCritera = el.find('.rubric-criteria'); - expect(rubricCritera.children(0).name()).toEqual('RadioCriterion'); + const rubricCriteria = el.find('.rubric-criteria'); + expect(rubricCriteria.children(0).name()).toEqual('RadioCriterion'); }); test('is ungraded and is not grading (Review criterion get render)', () => { el.setProps({ isGrading: false, }); - const rubricCritera = el.find('.rubric-criteria'); - expect(rubricCritera.children(0).name()).toEqual('ReviewCriterion'); + const rubricCriteria = el.find('.rubric-criteria'); + expect(rubricCriteria.children(0).name()).toEqual('ReviewCriterion'); }); test('is graded and is not grading (Radio criterion get render)', () => { @@ -106,13 +106,13 @@ describe('Criterion Container', () => { isGrading: false, gradeStatus: gradeStatuses.graded, }); - const rubricCritera = el.find('.rubric-criteria'); - expect(rubricCritera.children(0).name()).toEqual('RadioCriterion'); + const rubricCriteria = el.find('.rubric-criteria'); + expect(rubricCriteria.children(0).name()).toEqual('RadioCriterion'); }); }); describe('mapStateToProps', () => { - const testState = { abitaryState: 'some data' }; + const testState = { arbitraryState: 'some data' }; const ownProps = { orderNum: props.orderNum }; let mapped; beforeEach(() => { diff --git a/src/containers/CriterionContainer/messages.js b/src/containers/CriterionContainer/messages.js index b7a014cb..b3d93359 100644 --- a/src/containers/CriterionContainer/messages.js +++ b/src/containers/CriterionContainer/messages.js @@ -14,7 +14,7 @@ const messages = defineMessages({ optional: { id: 'ora-grading.CriterionFeedback.optional', defaultMessage: '(Optional)', - description: 'addtional label for optional feedback field', + description: 'additional label for optional feedback field', }, optionPoints: { id: 'ora-grading.RadioCriterion.optionPoints', diff --git a/src/containers/ListView/SubmissionsTable.jsx b/src/containers/ListView/SubmissionsTable.jsx index c77e1cd0..c591b4b7 100644 --- a/src/containers/ListView/SubmissionsTable.jsx +++ b/src/containers/ListView/SubmissionsTable.jsx @@ -63,8 +63,8 @@ export class SubmissionsTable extends React.Component { translate = (...args) => this.props.intl.formatMessage(...args); handleViewAllResponsesClick = (data) => () => { - const getsubmissionUUID = (row) => row.original.submissionUUID; - this.props.loadSelectionForReview(data.map(getsubmissionUUID)); + const getSubmissionUUID = (row) => row.original.submissionUUID; + this.props.loadSelectionForReview(data.map(getSubmissionUUID)); }; render() { diff --git a/src/containers/ResponseDisplay/__snapshots__/FileDownload.test.jsx.snap b/src/containers/ResponseDisplay/__snapshots__/FileDownload.test.jsx.snap index 66d76b73..95ab85e3 100644 --- a/src/containers/ResponseDisplay/__snapshots__/FileDownload.test.jsx.snap +++ b/src/containers/ResponseDisplay/__snapshots__/FileDownload.test.jsx.snap @@ -43,7 +43,7 @@ exports[`FileDownload component snapshot download is completed 1`] = ` />, "pending": , } @@ -96,7 +96,7 @@ exports[`FileDownload component snapshot download is failed 1`] = ` />, "pending": , } @@ -149,7 +149,7 @@ exports[`FileDownload component snapshot download is inactive 1`] = ` />, "pending": , } @@ -202,7 +202,7 @@ exports[`FileDownload component snapshot download is pending 1`] = ` />, "pending": , } diff --git a/src/containers/ResponseDisplay/messages.js b/src/containers/ResponseDisplay/messages.js index cf89d3aa..e7387762 100644 --- a/src/containers/ResponseDisplay/messages.js +++ b/src/containers/ResponseDisplay/messages.js @@ -24,7 +24,7 @@ const messages = defineMessages({ downloading: { id: 'ora-grading.ResponseDisplay.SubmissionFiles.downloading', defaultMessage: 'Downloading', - description: 'Download files penging state label', + description: 'Download files pending state label', }, downloaded: { id: 'ora-grading.ResponseDisplay.SubmissionFiles.downloaded', diff --git a/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx b/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx index bac80d59..263d3037 100644 --- a/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx +++ b/src/containers/ReviewActions/components/SubmissionNavigation.test.jsx @@ -19,7 +19,7 @@ jest.mock('data/redux/grading/selectors', () => ({ doesExist: (state) => ({ nextDoesExist: state }), }, activeIndex: (state) => ({ activeIndex: state }), - selectionLength: (state) => ({ selectionlength: state }), + selectionLength: (state) => ({ selectionLength: state }), })); jest.mock('data/redux/requests/selectors', () => ({ allowNavigation: (state) => ({ allowNavigation: state }), diff --git a/src/containers/ReviewModal/ReviewContent.test.jsx b/src/containers/ReviewModal/ReviewContent.test.jsx index 1e120ef9..9452d6e9 100644 --- a/src/containers/ReviewModal/ReviewContent.test.jsx +++ b/src/containers/ReviewModal/ReviewContent.test.jsx @@ -53,7 +53,7 @@ describe('ReviewContent component', () => { test('isFailed loads from requests.isFailed(fetchSubmission)', () => { expect(mapped.isFailed).toEqual(selectors.requests.isFailed(testState, { requestKey })); }); - test('isLoadeed loads from requests.isCompleted(fetchSubmission)', () => { + test('isLoaded loads from requests.isCompleted(fetchSubmission)', () => { expect(mapped.isLoaded).toEqual(selectors.requests.isCompleted(testState, { requestKey })); }); }); diff --git a/src/containers/ReviewModal/ReviewErrors/DownloadErrors.test.jsx b/src/containers/ReviewModal/ReviewErrors/DownloadErrors.test.jsx index d5212dcc..aa8e2f98 100644 --- a/src/containers/ReviewModal/ReviewErrors/DownloadErrors.test.jsx +++ b/src/containers/ReviewModal/ReviewErrors/DownloadErrors.test.jsx @@ -62,7 +62,7 @@ describe('DownloadErrors component', () => { }); describe('behavior', () => { describe('clearState', () => { - it('calls props.clearState with requestKey: downladFiles', () => { + it('calls props.clearState with requestKey: downloadFiles', () => { el.instance().cancelAction(); expect(props.clearState).toHaveBeenCalledWith({ requestKey: RequestKeys.downloadFiles }); }); diff --git a/src/containers/ReviewModal/ReviewErrors/SubmitErrors/hooks.test.js b/src/containers/ReviewModal/ReviewErrors/SubmitErrors/hooks.test.js index d7e04708..2e3b3122 100644 --- a/src/containers/ReviewModal/ReviewErrors/SubmitErrors/hooks.test.js +++ b/src/containers/ReviewModal/ReviewErrors/SubmitErrors/hooks.test.js @@ -106,7 +106,7 @@ describe('Review Modal Submit Error hooks', () => { errorStatus = 'test-status'; const mockErrorProps = (args) => ({ confirm: { confirm: args }, - headingMessag: { headingMessage: args }, + headingMessage: { headingMessage: args }, contentMessage: { contentMessage: args }, }); const mockProps = mockErrorProps({ dispatch, errorStatus }); diff --git a/src/containers/Rubric/RubricFeedback.test.jsx b/src/containers/Rubric/RubricFeedback.test.jsx index df42d62c..b8131edc 100644 --- a/src/containers/Rubric/RubricFeedback.test.jsx +++ b/src/containers/Rubric/RubricFeedback.test.jsx @@ -32,7 +32,7 @@ jest.mock('data/redux/grading/selectors', () => ({ overallFeedback: jest.fn((...args) => ({ selectedOverallFeedback: args, })), - isGrading: jest.fn((...args) => ({ isGragrding: args })), + isGrading: jest.fn((...args) => ({ isGrading: args })), }, validation: { overallFeedbackIsInvalid: jest.fn((...args) => ({ @@ -44,7 +44,7 @@ jest.mock('data/redux/grading/selectors', () => ({ describe('Rubric Feedback component', () => { const props = { intl: { formatMessage }, - config: 'config stirng', + config: 'config string', isGrading: true, value: 'some value', isInvalid: false, @@ -135,7 +135,7 @@ describe('Rubric Feedback component', () => { }); describe('mapStateToProps', () => { - const testState = { abitaryState: 'some data' }; + const testState = { arbitraryState: 'some data' }; let mapped; beforeEach(() => { mapped = mapStateToProps(testState); diff --git a/src/containers/Rubric/__snapshots__/RubricFeedback.test.jsx.snap b/src/containers/Rubric/__snapshots__/RubricFeedback.test.jsx.snap index 61f4ee5e..120967b3 100644 --- a/src/containers/Rubric/__snapshots__/RubricFeedback.test.jsx.snap +++ b/src/containers/Rubric/__snapshots__/RubricFeedback.test.jsx.snap @@ -10,7 +10,7 @@ exports[`Rubric Feedback component snapshot feedback value is invalid 1`] = ` > @@ -53,7 +53,7 @@ exports[`Rubric Feedback component snapshot is graded 1`] = ` > @@ -84,7 +84,7 @@ exports[`Rubric Feedback component snapshot is grading 1`] = ` > diff --git a/src/containers/Rubric/hooks.test.js b/src/containers/Rubric/hooks.test.js index c2ed788c..7cc45cc3 100644 --- a/src/containers/Rubric/hooks.test.js +++ b/src/containers/Rubric/hooks.test.js @@ -43,7 +43,7 @@ describe('Rubric hooks', () => { afterEach(state.restore); describe('redux values', () => { beforeEach(() => { hook = hooks.reduxValues(); }); - test('loads gradeIsPending from isPending requests selectror on submitGrade request', () => { + test('loads gradeIsPending from isPending requests selector on submitGrade request', () => { expect(hook.gradeIsPending.useSelector(testState)).toEqual( selectors.requests.isPending(testState, { requestKey: RequestKeys.submitGrade }), ); @@ -51,7 +51,7 @@ describe('Rubric hooks', () => { test('loads criteriaIndices from rubric selector', () => { expect(hook.criteriaIndices).toEqual(useSelector(selectors.app.rubric.criteriaIndices)); }); - test('loads isCompleted from requests selectror on submitGrade request', () => { + test('loads isCompleted from requests selector on submitGrade request', () => { expect(hook.isCompleted.useSelector(testState)).toEqual( selectors.requests.isCompleted(testState, { requestKey: RequestKeys.submitGrade }), ); @@ -62,7 +62,7 @@ describe('Rubric hooks', () => { test('loads isGrading from grading selector for selected submission', () => { expect(hook.isGrading).toEqual(useSelector(selectors.grading.selected.isGrading)); }); - test('loads lockIsPending from isPending requests selectror on setLock request', () => { + test('loads lockIsPending from isPending requests selector on setLock request', () => { expect(hook.lockIsPending.useSelector(testState)).toEqual( selectors.requests.isPending(testState, { requestKey: RequestKeys.setLock }), ); diff --git a/src/containers/Rubric/messages.js b/src/containers/Rubric/messages.js index dc9d2fe7..070a8ec6 100644 --- a/src/containers/Rubric/messages.js +++ b/src/containers/Rubric/messages.js @@ -24,7 +24,7 @@ const messages = defineMessages({ overallComments: { id: 'ora-grading.Rubric.overallComments', defaultMessage: 'Overall comments', - description: 'Rubric overall commnents label', + description: 'Rubric overall comments label', }, addComments: { id: 'ora-grading.Rubric.addComments', diff --git a/src/data/redux/app/selectors.test.js b/src/data/redux/app/selectors.test.js index 7ed8a97c..cb22fb3c 100644 --- a/src/data/redux/app/selectors.test.js +++ b/src/data/redux/app/selectors.test.js @@ -111,7 +111,7 @@ describe('app selectors unit tests', () => { test('rubricConfig selector returns rubricConfig from oraMetadata', () => { testOraSelector(selectors.rubric.config, oraMetadata.rubricConfig); }); - test('fileUploadResponseConfig returns fileUploadResponseconfig from oraMetadata', () => { + test('fileUploadResponseConfig returns fileUploadResponseConfig from oraMetadata', () => { testOraSelector( selectors.ora.fileUploadResponseConfig, oraMetadata.fileUploadResponseConfig, @@ -184,11 +184,11 @@ describe('app selectors unit tests', () => { }); }); describe('shouldIncludeFeedback', () => { - it('returns true iff the passed feedback is optional or required', () => { + it('returns true if the passed feedback is optional or required', () => { expect(selectors.shouldIncludeFeedback(feedbackRequirement.optional)).toEqual(true); expect(selectors.shouldIncludeFeedback(feedbackRequirement.required)).toEqual(true); expect(selectors.shouldIncludeFeedback(feedbackRequirement.disabled)).toEqual(false); - expect(selectors.shouldIncludeFeedback('aribitrary')).toEqual(false); + expect(selectors.shouldIncludeFeedback('arbitrary')).toEqual(false); }); }); describe('fillGradeData selector', () => { diff --git a/src/data/redux/grading/reducer.js b/src/data/redux/grading/reducer.js index 49dcee24..ee5ff0f5 100644 --- a/src/data/redux/grading/reducer.js +++ b/src/data/redux/grading/reducer.js @@ -62,7 +62,7 @@ const initialState = { }; /** - * Updates the state's gradingData entry for the seleted submission, + * Updates the state's gradingData entry for the selected submission, * overlaying the passed data on top of the existing data for the that * submission. * @return {object} - new state @@ -82,7 +82,7 @@ export const updateGradingData = (state, data) => { }; /** - * Updates the given state's gradingData entry for the seleted submission, + * Updates the given state's gradingData entry for the selected submission, * overlaying the passed data on top of the existing data for the criterion * at the given index (orderNum) for the rubric. * @return {object} - new state diff --git a/src/data/redux/grading/reducer.test.js b/src/data/redux/grading/reducer.test.js index bbaa5ddc..254aeae5 100644 --- a/src/data/redux/grading/reducer.test.js +++ b/src/data/redux/grading/reducer.test.js @@ -218,7 +218,7 @@ describe('app reducer', () => { describe('setCriterionFeedback', () => { it('loads feedback by orderNum', () => { expect(reducer(testState, actions.setCriterionFeedback(testState, args))).toEqual( - mocks.updateCriterion(testState, orderNum, { feecback: testValue }), + mocks.updateCriterion(testState, orderNum, { feedback: testValue }), ); }); }); diff --git a/src/data/redux/grading/selectors/nav.js b/src/data/redux/grading/selectors/nav.js index 24a420ef..c1abe69b 100644 --- a/src/data/redux/grading/selectors/nav.js +++ b/src/data/redux/grading/selectors/nav.js @@ -21,7 +21,7 @@ export const next = { module.hasNext, ), /** - * Returns the submissionUUID for the next submission in the selection queu + * Returns the submissionUUID for the next submission in the selection queue * @return {string} next submission id (null if there isn't one) */ submissionUUID: createSelector( diff --git a/src/data/redux/grading/selectors/selected.test.js b/src/data/redux/grading/selectors/selected.test.js index 5745ccef..3a0831e4 100644 --- a/src/data/redux/grading/selectors/selected.test.js +++ b/src/data/redux/grading/selectors/selected.test.js @@ -183,7 +183,7 @@ describe('selected submission grading selectors unit tests', () => { const { userDisplay } = selectors.selected; const username = 'USERname'; const teamName = 'teamNAME'; - it('is a reselect selector based on the username, teamname, and whether the ORA is individual', () => { + it('is a reselect selector based on the username, teamName, and whether the ORA is individual', () => { expect(userDisplay.preSelectors).toEqual([ appSelectors.ora.isIndividual, selectors.selected.username, diff --git a/src/data/redux/grading/selectors/validation.test.js b/src/data/redux/grading/selectors/validation.test.js index 80526c88..1d90b866 100644 --- a/src/data/redux/grading/selectors/validation.test.js +++ b/src/data/redux/grading/selectors/validation.test.js @@ -131,8 +131,8 @@ describe('validation grading selectors unit tests', () => { let show; let criterionFeedback; const selector = selectors.validation.criterionFeedbackIsInvalid; - const mockMethods = (showvalue, feedback) => { - selectors.validation.show = () => showvalue; + const mockMethods = (showValue, feedback) => { + selectors.validation.show = () => showValue; selectors.validation.criterionFeedback = () => feedback; }; beforeAll(() => { @@ -168,8 +168,8 @@ describe('validation grading selectors unit tests', () => { describe('validation.criterionSelectedOptionIsInvalid selector', () => { const testState = { some: 'state' }; let show; - const mockMethods = (showvalue, selectedValue) => { - selectors.validation.show = () => showvalue; + const mockMethods = (showValue, selectedValue) => { + selectors.validation.show = () => showValue; selectors.validation.criterionSelectedOption.mockReturnValueOnce(selectedValue); }; const selector = selectors.validation.criterionSelectedOptionIsInvalid; diff --git a/src/data/redux/requests/selectors.test.js b/src/data/redux/requests/selectors.test.js index e5110a46..822ce59a 100644 --- a/src/data/redux/requests/selectors.test.js +++ b/src/data/redux/requests/selectors.test.js @@ -72,7 +72,7 @@ describe('requests selectors unit tests', () => { expect(select(selectors.errorCode, { error: { response: { data: testValue } } })) .toEqual(testValue); }); - test('data reurns the request data', () => { + test('data returns the request data', () => { expect(select(selectors.data, { data: testValue })).toEqual(testValue); }); }); diff --git a/src/data/redux/submissions/selectors.test.js b/src/data/redux/submissions/selectors.test.js index 3341d0ee..74f6c20f 100644 --- a/src/data/redux/submissions/selectors.test.js +++ b/src/data/redux/submissions/selectors.test.js @@ -75,7 +75,7 @@ describe('submission selectors unit tests', () => { ); }); }); - test('returns gradingStatus as GradeStatus iff lockstatus is lock, else lockStatus', () => { + test('returns gradingStatus as GradeStatus iff lockStatus is lock, else lockStatus', () => { expect(output[0].gradingStatus).toEqual(submissions[1].gradeStatus); expect(output[1].gradingStatus).toEqual(submissions[2].lockStatus); expect(output[2].gradingStatus).toEqual(submissions[0].lockStatus); diff --git a/src/data/redux/thunkActions/download.test.js b/src/data/redux/thunkActions/download.test.js index e942639c..c94e306a 100644 --- a/src/data/redux/thunkActions/download.test.js +++ b/src/data/redux/thunkActions/download.test.js @@ -182,7 +182,7 @@ describe('download thunkActions', () => { expect(download.zipFiles).toHaveBeenCalledWith(files, blobs, username); }); it('network request catch all of the errors', () => { - const blobsErrors = ['arbitary', 'error']; + const blobsErrors = ['arbitrary', 'error']; download.downloadBlobs = () => Promise.reject(blobsErrors); download.downloadFiles()(dispatch, getState); diff --git a/src/data/redux/thunkActions/grading.js b/src/data/redux/thunkActions/grading.js index 5aa617ee..e0b7e7be 100644 --- a/src/data/redux/thunkActions/grading.js +++ b/src/data/redux/thunkActions/grading.js @@ -60,7 +60,7 @@ export const loadSubmission = () => (dispatch, getState) => { /** * Start grading the current submission. - * Attempts to lock the submisison, and on a success, sets the local grading state to + * Attempts to lock the submission, and on a success, sets the local grading state to * True, and then loads initializes the grading process with GradeData associated with * the current submission. If there is no grade data, generates an empty grade entry * based on the rubric config. @@ -85,7 +85,7 @@ export const startGrading = () => (dispatch, getState) => { }; /** - * Cancels the grading process for the current submisison. + * Cancels the grading process for the current submission. * Releases the lock and dispatches stopGrading on success. */ export const cancelGrading = () => (dispatch, getState) => { diff --git a/src/data/redux/thunkActions/grading.test.js b/src/data/redux/thunkActions/grading.test.js index 5b96a803..49349514 100644 --- a/src/data/redux/thunkActions/grading.test.js +++ b/src/data/redux/thunkActions/grading.test.js @@ -24,7 +24,7 @@ jest.mock('data/redux/grading/selectors', () => ({ gradeData: jest.fn((state) => ({ gradeData: state })), gradingData: jest.fn((state) => ({ gradingData: state })), isGrading: jest.fn((state) => ({ isGrading: state })), - submissionUUID: jest.fn((state) => ({ selectedsubmissionUUID: state })), + submissionUUID: jest.fn((state) => ({ selectedSubmissionUUID: state })), lockStatus: jest.fn((state) => ({ lockStatus: state })), }, validation: { @@ -62,7 +62,7 @@ describe('grading thunkActions', () => { expect(actionArgs).not.toEqual(undefined); }); describe('fetchSubmissionArgs', () => { - test('submissionUUID: selectors.grading.selected.submisssionUUID', () => { + test('submissionUUID: selectors.grading.selected.submissionUUID', () => { expect(actionArgs.submissionUUID).toEqual( selectedUUID, ); diff --git a/src/data/redux/thunkActions/requests.js b/src/data/redux/thunkActions/requests.js index bc24fefe..f1f9f68c 100644 --- a/src/data/redux/thunkActions/requests.js +++ b/src/data/redux/thunkActions/requests.js @@ -51,7 +51,7 @@ export const initializeApp = ({ locationId, ...rest }) => (dispatch) => { /** * Tracked fetchSubmissionStatus api method. - * Tracked to the `fetchSubmissinStatus` request key. + * Tracked to the `fetchSubmissionStatus` request key. * @param {string} submissionUUID - target submission id * @param {[func]} onSuccess - onSuccess method ((response) => { ... }) * @param {[func]} onFailure - onFailure method ((error) => { ... }) diff --git a/src/data/redux/thunkActions/requests.test.js b/src/data/redux/thunkActions/requests.test.js index 72e3262b..1d11391f 100644 --- a/src/data/redux/thunkActions/requests.test.js +++ b/src/data/redux/thunkActions/requests.test.js @@ -81,7 +81,7 @@ describe('requests thunkActions module', () => { [actions.requests.completeRequest({ requestKey, response: testData })], ]); }); - it('on failure disaptches completeRequest', async () => { + it('on failure dispatches completeRequest', async () => { await requests.networkRequest({ requestKey, promise: Promise.reject(testData) })(dispatch); expect(dispatch.mock.calls).toEqual([ [actions.requests.startRequest(requestKey)], diff --git a/src/data/services/lms/api.js b/src/data/services/lms/api.js index 425ceab0..bc4c41ce 100644 --- a/src/data/services/lms/api.js +++ b/src/data/services/lms/api.js @@ -40,7 +40,7 @@ const initializeApp = () => get( /** * get('/api/submission', { oraLocation, submissionUUID }) * @return { - * submision: { + * submission: { * gradeData, * gradeStatus, * response: { files: [{}], text: }, diff --git a/src/data/utils.js b/src/data/utils.js index 40bcfc4b..78a38af9 100644 --- a/src/data/utils.js +++ b/src/data/utils.js @@ -1,6 +1,6 @@ /** * Simple selector factory. - * Takes a list of string keys, and returns a simple slector for each. + * Takes a list of string keys, and returns a simple selector for each. * * @function * @param {Object|string[]} keys - If passed as object, Object.keys(keys) is used. diff --git a/src/i18n/index.js b/src/i18n/index.js index bb072c6b..e0ea99d8 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -1,36 +1,38 @@ import { messages as footerMessages } from '@edx/frontend-component-footer'; -import { messages as headerMesssages } from '@edx/frontend-component-header'; +import { messages as headerMessages } from '@edx/frontend-component-header'; import { messages as paragonMessages } from '@edx/paragon'; import arMessages from './messages/ar.json'; -// no need to import en messages-- they are in the defaultMessage field +import deDEMessages from './messages/de_DE.json'; import es419Messages from './messages/es_419.json'; +import faIRMessages from './messages/fa_IR.json'; import frMessages from './messages/fr.json'; -import zhcnMessages from './messages/zh_CN.json'; -import dedeMessages from './messages/de_DE.json'; -import frcaMessages from './messages/fr_CA.json'; +import frCAMessages from './messages/fr_CA.json'; import hiMessages from './messages/hi.json'; -import ititMessages from './messages/it_IT.json'; -import ptptMessages from './messages/pt_PT.json'; +import itITMessages from './messages/it_IT.json'; +import ptPTMessages from './messages/pt_PT.json'; import ruMessages from './messages/ru.json'; import ukMessages from './messages/uk.json'; +import zhCNMessages from './messages/zh_CN.json'; +// no need to import en messages-- they are in the defaultMessage field const appMessages = { ar: arMessages, + 'de-de': deDEMessages, 'es-419': es419Messages, + 'fa-ir': faIRMessages, fr: frMessages, - 'zh-cn': zhcnMessages, - 'de-de': dedeMessages, - 'fr-ca': frcaMessages, + 'fr-ca': frCAMessages, hi: hiMessages, - 'it-it': ititMessages, - 'pt-pt': ptptMessages, + 'it-it': itITMessages, + 'pt-pt': ptPTMessages, ru: ruMessages, uk: ukMessages, + 'zh-cn': zhCNMessages, }; export default [ - headerMesssages, + headerMessages, footerMessages, paragonMessages, appMessages, diff --git a/src/i18n/messages/fa_IR.json b/src/i18n/messages/fa_IR.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/src/i18n/messages/fa_IR.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/index.test.jsx b/src/index.test.jsx index 8af6503b..b49d2c66 100644 --- a/src/index.test.jsx +++ b/src/index.test.jsx @@ -16,10 +16,10 @@ jest.mock('react-dom', () => ({ })); jest.mock('@edx/frontend-component-footer', () => ({ - messages: 'frotnend-footer-messages', + messages: 'frontend-footer-messages', })); jest.mock('@edx/frontend-component-header', () => ({ - messages: 'frotnend-header-messages', + messages: 'frontend-header-messages', })); jest.mock('@edx/frontend-platform', () => ({