diff --git a/__tests__/__snapshots__/index.js.snap b/__tests__/__snapshots__/index.js.snap index 53d2317a..bf72ddb8 100644 --- a/__tests__/__snapshots__/index.js.snap +++ b/__tests__/__snapshots__/index.js.snap @@ -377,6 +377,16 @@ Object { "DEVELOP": "Development", "QA": "Quality Assurance", }, + "OLD_COMPETITION_TRACKS": Object { + "DATA_SCIENCE": "DATA_SCIENCE", + "DESIGN": "DESIGN", + "DEVELOP": "DEVELOP", + "QA": "QA", + }, + "OLD_SUBTRACKS": Object { + "BUG_HUNT": "BUG_HUNT", + "TEST_SUITES": "TEST_SUITES", + }, "REVIEW_OPPORTUNITY_TYPES": Object { "Contest Review": "Review", "Iterative Review": "Iterative Review", diff --git a/src/services/reviewOpportunities.js b/src/services/reviewOpportunities.js index 51af9e44..87f8dcd3 100644 --- a/src/services/reviewOpportunities.js +++ b/src/services/reviewOpportunities.js @@ -4,23 +4,37 @@ * submitting applications. */ import _ from 'lodash'; +import { COMPETITION_TRACKS, OLD_COMPETITION_TRACKS, OLD_SUBTRACKS } from 'utils/tc'; import { getApi } from './api'; /** * Sync the fields of V3 and V5 for front-end to process successfully - * @param challenges - challenges to normalize + * @param opportunities - opportunities to normalize */ -export function normalizeChallenges(challenges) { - if (challenges) { - _.map(challenges, (ch) => { - const { challenge } = ch; - if (challenge.technologies && challenge.technologies.includes('Data Science')) { - challenge.track = 'DATA_SCIENCE'; +export function normalizeChallenges(opportunities) { + if (opportunities) { + /* Issue#4739 : Temporary add track to review opportunities challenges + * until receive API V5 update. */ + _.map(opportunities, (opportunity) => { + const { challenge } = opportunity; + challenge.track = COMPETITION_TRACKS.DEVELOP; + if (challenge.technologies) { + if (challenge.technologies.includes(COMPETITION_TRACKS.DATA_SCIENCE)) { + challenge.track = COMPETITION_TRACKS.DATA_SCIENCE; + } else if (challenge.technologies.includes(OLD_COMPETITION_TRACKS.QA)) { + challenge.track = COMPETITION_TRACKS.QA; + } + } else if (challenge.subTrack === OLD_SUBTRACKS.TEST_SUITES + || challenge.subTrack === OLD_SUBTRACKS.BUG_HUNT) { + challenge.track = COMPETITION_TRACKS.QA; + } else if (challenge.track === OLD_COMPETITION_TRACKS.DESIGN) { + challenge.track = COMPETITION_TRACKS.DESIGN; } - return _.defaults(ch, { challenge }); + return _.defaults(opportunity, { challenge }); }); } - return challenges; + + return opportunities; } /** diff --git a/src/utils/tc.js b/src/utils/tc.js index 5388d4bb..28bcf3b2 100644 --- a/src/utils/tc.js +++ b/src/utils/tc.js @@ -17,6 +17,18 @@ export const COMPETITION_TRACKS = { QA: 'Quality Assurance', }; +export const OLD_COMPETITION_TRACKS = { + DATA_SCIENCE: 'DATA_SCIENCE', + DESIGN: 'DESIGN', + DEVELOP: 'DEVELOP', + QA: 'QA', +}; + +export const OLD_SUBTRACKS = { + TEST_SUITES: 'TEST_SUITES', + BUG_HUNT: 'BUG_HUNT', +}; + /** * Review Opportunity types */