fix(certs): add year to certs introduced in 2020 (#38912)

This commit is contained in:
Mrugesh Mohapatra
2020-06-04 13:13:07 +05:30
committed by GitHub
parent 32a443d1c9
commit a02ff7b08e
13 changed files with 135 additions and 134 deletions

View File

@ -167,12 +167,12 @@
"description": "Camper is information security and quality assurance certified",
"default": false
},
"isQaCert": {
"is2020QaCert": {
"type": "boolean",
"description": "Camper is quality assurance certified",
"default": false
},
"isInfosecCert": {
"is2020InfosecCert": {
"type": "boolean",
"description": "Camper is information security certified",
"default": false
@ -182,17 +182,17 @@
"description": "Camper is full stack certified (2018)",
"default": false
},
"isSciCompPyCert": {
"is2020SciCompPyCert": {
"type": "boolean",
"description": "Camper is scientific computing with Python certified",
"default": false
},
"isDataAnalysisPyCert": {
"is2020DataAnalysisPyCert": {
"type": "boolean",
"description": "Camper is data analysis with Python certified",
"default": false
},
"isMachineLearningPyCert": {
"is2020MachineLearningPyCert": {
"type": "boolean",
"description": "Camper is machine learning with Python certified",
"default": false

View File

@ -202,11 +202,11 @@ function sendCertifiedEmail(
isJsAlgoDataStructCert,
isDataVisCert,
isApisMicroservicesCert,
isQaCert,
isInfosecCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020QaCert,
is2020InfosecCert,
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
},
send$
) {
@ -217,11 +217,11 @@ function sendCertifiedEmail(
!isJsAlgoDataStructCert ||
!isDataVisCert ||
!isApisMicroservicesCert ||
!isQaCert ||
!isInfosecCert ||
!isSciCompPyCert ||
!isDataAnalysisPyCert ||
!isMachineLearningPyCert
!is2020QaCert ||
!is2020InfosecCert ||
!is2020SciCompPyCert ||
!is2020DataAnalysisPyCert ||
!is2020MachineLearningPyCert
) {
return Observable.just(false);
}
@ -249,15 +249,15 @@ function getUserIsCertMap(user) {
is2018DataVisCert = false,
isApisMicroservicesCert = false,
isInfosecQaCert = false,
isQaCert = false,
isInfosecCert = false,
is2020QaCert = false,
is2020InfosecCert = false,
isFrontEndCert = false,
isBackEndCert = false,
isDataVisCert = false,
isFullStackCert = false,
isSciCompPyCert = false,
isDataAnalysisPyCert = false,
isMachineLearningPyCert = false
is2020SciCompPyCert = false,
is2020DataAnalysisPyCert = false,
is2020MachineLearningPyCert = false
} = user;
return {
@ -267,15 +267,15 @@ function getUserIsCertMap(user) {
is2018DataVisCert,
isApisMicroservicesCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndCert,
isBackEndCert,
isDataVisCert,
isFullStackCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
};
}
@ -396,11 +396,11 @@ function createShowCert(app) {
is2018DataVisCert: true,
isApisMicroservicesCert: true,
isInfosecQaCert: true,
isQaCert: true,
isInfosecCert: true,
isSciCompPyCert: true,
isDataAnalysisPyCert: true,
isMachineLearningPyCert: true,
is2020QaCert: true,
is2020InfosecCert: true,
is2020SciCompPyCert: true,
is2020DataAnalysisPyCert: true,
is2020MachineLearningPyCert: true,
isHonest: true,
username: true,
name: true,

View File

@ -162,16 +162,16 @@ function postResetProgress(req, res, next) {
isJsAlgoDataStructCert: false,
isApisMicroservicesCert: false,
isInfosecQaCert: false,
isQaCert: false,
isInfosecCert: false,
is2020QaCert: false,
is2020InfosecCert: false,
is2018FullStackCert: false,
isFrontEndCert: false,
isBackEndCert: false,
isDataVisCert: false,
isFullStackCert: false,
isSciCompPyCert: false,
isDataAnalysisPyCert: false,
isMachineLearningPyCert: false,
is2020SciCompPyCert: false,
is2020DataAnalysisPyCert: false,
is2020MachineLearningPyCert: false,
completedChallenges: []
},
function(err) {

View File

@ -8,10 +8,10 @@
"jsAlgoDataStruct": "isJsAlgoDataStructCert",
"apisMicroservices": "isApisMicroservicesCert",
"infosecQa": "isInfosecQaCert",
"qa": "isQaCert",
"infosec": "isInfosecCert",
"qa": "is2020QaCert",
"infosec": "is2020InfosecCert",
"fullStack": "isFullStackCert",
"sciCompPy": "isSciCompPyCert",
"dataAnalysisPy": "isDataAnalysisPyCert",
"machineLearningPy": "isMachineLearningPyCert"
"sciCompPy": "is2020SciCompPyCert",
"dataAnalysisPy": "is2020DataAnalysisPyCert",
"machineLearningPy": "is2020MachineLearningPyCert"
}

View File

@ -18,11 +18,11 @@ export function completeCommitment$(user) {
isDataVisCert,
isApisMicroservicesCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020QaCert,
is2020InfosecCert,
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
} = user;
return Observable.fromNodeCallback(user.pledge, user)().flatMap(pledge => {
@ -42,11 +42,12 @@ export function completeCommitment$(user) {
(isDataVisCert && goal === commitGoals.dataVisCert) ||
(isApisMicroservicesCert && goal === commitGoals.apisMicroservicesCert) ||
(isInfosecQaCert && goal === commitGoals.infosecQaCert) ||
(isQaCert && goal === commitGoals.QaCert) ||
(isInfosecCert && goal === commitGoals.infosecCert) ||
(isSciCompPyCert && goal === commitGoals.sciCompPyCert) ||
(isDataAnalysisPyCert && goal === commitGoals.dataAnalysisPyCert) ||
(isMachineLearningPyCert && goal === commitGoals.machineLearningPyCert)
(is2020QaCert && goal === commitGoals.QaCert) ||
(is2020InfosecCert && goal === commitGoals.infosecCert) ||
(is2020SciCompPyCert && goal === commitGoals.sciCompPyCert) ||
(is2020DataAnalysisPyCert && goal === commitGoals.dataAnalysisPyCert) ||
(is2020MachineLearningPyCert &&
goal === commitGoals.machineLearningPyCert)
) {
debug('marking goal complete');
pledge.isCompleted = true;

View File

@ -3,13 +3,13 @@ function getCompletedCertCount(user) {
'isApisMicroservicesCert',
'is2018DataVisCert',
'isFrontEndLibsCert',
'isQaCert',
'isInfosecCert',
'is2020QaCert',
'is2020InfosecCert',
'isJsAlgoDataStructCert',
'isRespWebDesignCert',
'isSciCompPyCert',
'isDataAnalysisPyCert',
'isMachineLearningPyCert'
'is2020SciCompPyCert',
'is2020DataAnalysisPyCert',
'is2020MachineLearningPyCert'
].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0);
}

View File

@ -23,13 +23,13 @@ export const publicUserProps = [
'isFrontEndLibsCert',
'isHonest',
'isInfosecQaCert',
'isQaCert',
'isInfosecCert',
'is2020QaCert',
'is2020InfosecCert',
'isJsAlgoDataStructCert',
'isRespWebDesignCert',
'isSciCompPyCert',
'isDataAnalysisPyCert',
'isMachineLearningPyCert',
'is2020SciCompPyCert',
'is2020DataAnalysisPyCert',
'is2020MachineLearningPyCert',
'linkedin',
'location',
'name',

View File

@ -142,13 +142,13 @@ function getCompletedCertCount(user) {
'isApisMicroservicesCert',
'is2018DataVisCert',
'isFrontEndLibsCert',
'isQaCert',
'isInfosecCert',
'is2020QaCert',
'is2020InfosecCert',
'isJsAlgoDataStructCert',
'isRespWebDesignCert',
'isSciCompPyCert',
'isDataAnalysisPyCert',
'isMachineLearningPyCert'
'is2020SciCompPyCert',
'is2020DataAnalysisPyCert',
'is2020MachineLearningPyCert'
].reduce((sum, key) => (user[key] ? sum + 1 : sum), 0);
}

View File

@ -60,13 +60,13 @@ const propTypes = {
isFullStackCert: PropTypes.bool,
isHonest: PropTypes.bool,
isInfosecQaCert: PropTypes.bool,
isQaCert: PropTypes.bool,
isInfosecCert: PropTypes.bool,
is2020QaCert: PropTypes.bool,
is2020InfosecCert: PropTypes.bool,
isJsAlgoDataStructCert: PropTypes.bool,
isRespWebDesignCert: PropTypes.bool,
isSciCompPyCert: PropTypes.bool,
isDataAnalysisPyCert: PropTypes.bool,
isMachineLearningPyCert: PropTypes.bool,
is2020SciCompPyCert: PropTypes.bool,
is2020DataAnalysisPyCert: PropTypes.bool,
is2020MachineLearningPyCert: PropTypes.bool,
linkedin: PropTypes.string,
location: PropTypes.string,
name: PropTypes.string,
@ -134,14 +134,14 @@ export function ShowSettings(props) {
isDataVisCert,
isFrontEndCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndLibsCert,
isFullStackCert,
isRespWebDesignCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert,
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert,
isEmailVerified,
isHonest,
sendQuincyEmail,
@ -241,21 +241,21 @@ export function ShowSettings(props) {
completedChallenges={completedChallenges}
createFlashMessage={createFlashMessage}
is2018DataVisCert={is2018DataVisCert}
is2020DataAnalysisPyCert={is2020DataAnalysisPyCert}
is2020InfosecCert={is2020InfosecCert}
is2020MachineLearningPyCert={is2020MachineLearningPyCert}
is2020QaCert={is2020QaCert}
is2020SciCompPyCert={is2020SciCompPyCert}
isApisMicroservicesCert={isApisMicroservicesCert}
isBackEndCert={isBackEndCert}
isDataAnalysisPyCert={isDataAnalysisPyCert}
isDataVisCert={isDataVisCert}
isFrontEndCert={isFrontEndCert}
isFrontEndLibsCert={isFrontEndLibsCert}
isFullStackCert={isFullStackCert}
isHonest={isHonest}
isInfosecCert={isInfosecCert}
isInfosecQaCert={isInfosecQaCert}
isJsAlgoDataStructCert={isJsAlgoDataStructCert}
isMachineLearningPyCert={isMachineLearningPyCert}
isQaCert={isQaCert}
isRespWebDesignCert={isRespWebDesignCert}
isSciCompPyCert={isSciCompPyCert}
username={username}
verifyCert={verifyCert}
/>

View File

@ -42,21 +42,21 @@ const propTypes = {
),
createFlashMessage: PropTypes.func.isRequired,
is2018DataVisCert: PropTypes.bool,
is2020DataAnalysisPyCert: PropTypes.bool,
is2020InfosecCert: PropTypes.bool,
is2020MachineLearningPyCert: PropTypes.bool,
is2020QaCert: PropTypes.bool,
is2020SciCompPyCert: PropTypes.bool,
isApisMicroservicesCert: PropTypes.bool,
isBackEndCert: PropTypes.bool,
isDataAnalysisPyCert: PropTypes.bool,
isDataVisCert: PropTypes.bool,
isFrontEndCert: PropTypes.bool,
isFrontEndLibsCert: PropTypes.bool,
isFullStackCert: PropTypes.bool,
isHonest: PropTypes.bool,
isInfosecCert: PropTypes.bool,
isInfosecQaCert: PropTypes.bool,
isJsAlgoDataStructCert: PropTypes.bool,
isMachineLearningPyCert: PropTypes.bool,
isQaCert: PropTypes.bool,
isRespWebDesignCert: PropTypes.bool,
isSciCompPyCert: PropTypes.bool,
updateLegacyCert: PropTypes.func.isRequired,
username: PropTypes.string,
verifyCert: PropTypes.func.isRequired
@ -72,14 +72,14 @@ const isCertSelector = ({
isDataVisCert,
isFrontEndCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndLibsCert,
isFullStackCert,
isRespWebDesignCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
}) => ({
is2018DataVisCert,
isApisMicroservicesCert,
@ -88,14 +88,14 @@ const isCertSelector = ({
isDataVisCert,
isFrontEndCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndLibsCert,
isFullStackCert,
isRespWebDesignCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
});
const isCertMapSelector = createSelector(
@ -105,27 +105,27 @@ const isCertMapSelector = createSelector(
isApisMicroservicesCert,
isJsAlgoDataStructCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndLibsCert,
isRespWebDesignCert,
isDataVisCert,
isFrontEndCert,
isBackEndCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
}) => ({
'Responsive Web Design': isRespWebDesignCert,
'JavaScript Algorithms and Data Structures': isJsAlgoDataStructCert,
'Front End Libraries': isFrontEndLibsCert,
'Data Visualization': is2018DataVisCert,
"API's and Microservices": isApisMicroservicesCert,
'Quality Assurance': isQaCert,
'Information Security': isInfosecCert,
'Scientific Computing with Python': isSciCompPyCert,
'Data Analysis with Python': isDataAnalysisPyCert,
'Machine Learning with Python': isMachineLearningPyCert,
'Quality Assurance': is2020QaCert,
'Information Security': is2020InfosecCert,
'Scientific Computing with Python': is2020SciCompPyCert,
'Data Analysis with Python': is2020DataAnalysisPyCert,
'Machine Learning with Python': is2020MachineLearningPyCert,
'Legacy Front End': isFrontEndCert,
'Legacy Data Visualization': isDataVisCert,
'Legacy Back End': isBackEndCert,
@ -472,8 +472,8 @@ export class CertificationSettings extends Component {
is2018DataVisCert,
isApisMicroservicesCert,
isFrontEndLibsCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isJsAlgoDataStructCert,
isRespWebDesignCert
} = this.props;
@ -482,8 +482,8 @@ export class CertificationSettings extends Component {
is2018DataVisCert &&
isApisMicroservicesCert &&
isFrontEndLibsCert &&
isQaCert &&
isInfosecCert &&
is2020QaCert &&
is2020InfosecCert &&
isJsAlgoDataStructCert &&
isRespWebDesignCert;

View File

@ -189,13 +189,13 @@ const defaultTestProps = {
isFullStackCert: false,
isHonest: false,
isInfosecQaCert: false,
isQaCert: false,
isInfosecCert: false,
is2020QaCert: false,
is2020InfosecCert: false,
isJsAlgoDataStructCert: false,
isRespWebDesignCert: false,
isSciCompPyCert: false,
isDataAnalysisPyCert: false,
isMachineLearningPyCert: false,
is2020SciCompPyCert: false,
is2020DataAnalysisPyCert: false,
is2020MachineLearningPyCert: false,
updateLegacyCert: () => {},
username: 'developmentuser',
verifyCert: () => {},

View File

@ -213,15 +213,15 @@ export const certificatesByNameSelector = username => state => {
isJsAlgoDataStructCert,
isApisMicroservicesCert,
isInfosecQaCert,
isQaCert,
isInfosecCert,
is2020QaCert,
is2020InfosecCert,
isFrontEndCert,
isBackEndCert,
isDataVisCert,
isFullStackCert,
isSciCompPyCert,
isDataAnalysisPyCert,
isMachineLearningPyCert
is2020SciCompPyCert,
is2020DataAnalysisPyCert,
is2020MachineLearningPyCert
} = userByNameSelector(username)(state);
return {
hasModernCert:
@ -230,12 +230,12 @@ export const certificatesByNameSelector = username => state => {
isFrontEndLibsCert ||
isJsAlgoDataStructCert ||
isApisMicroservicesCert ||
isQaCert ||
isInfosecCert ||
is2020QaCert ||
is2020InfosecCert ||
isFullStackCert ||
isSciCompPyCert ||
isDataAnalysisPyCert ||
isMachineLearningPyCert,
is2020SciCompPyCert ||
is2020DataAnalysisPyCert ||
is2020MachineLearningPyCert,
hasLegacyCert:
isFrontEndCert || isBackEndCert || isDataVisCert || isInfosecQaCert,
currentCerts: [
@ -270,27 +270,27 @@ export const certificatesByNameSelector = username => state => {
showURL: 'apis-and-microservices'
},
{
show: isQaCert,
show: is2020QaCert,
title: ' Quality Assurance Certification',
showURL: 'quality-assurance'
},
{
show: isInfosecCert,
show: is2020InfosecCert,
title: 'Information Security Certification',
showURL: 'information-security'
},
{
show: isSciCompPyCert,
show: is2020SciCompPyCert,
title: 'Scientific Computing with Python Certification',
showURL: 'scientific-computing-with-python'
},
{
show: isDataAnalysisPyCert,
show: is2020DataAnalysisPyCert,
title: 'Data Analysis with Python Certification',
showURL: 'data-analysis-with-python'
},
{
show: isMachineLearningPyCert,
show: is2020MachineLearningPyCert,
title: 'Machine Learning with Python Certification',
showURL: 'machine-learning-with-python'
}

View File

@ -63,12 +63,12 @@ MongoClient.connect(MONGOHQ_URL, { useNewUrlParser: true }, function(
isJsAlgoDataStructCert: false,
isApisMicroservicesCert: false,
isInfosecQaCert: false,
isQaCert: false,
isInfosecCert: false,
is2020QaCert: false,
is2020InfosecCert: false,
is2018FullStackCert: false,
isSciCompPyCert: false,
isDataAnalysisPyCert: false,
isMachineLearningPyCert: false,
is2020SciCompPyCert: false,
is2020DataAnalysisPyCert: false,
is2020MachineLearningPyCert: false,
completedChallenges: [],
portfolio: [],
yearsTopContributor: [],