fix(api): show most recent date for FullStack cert (#38736)

This commit is contained in:
Oliver Eyton-Williams
2020-05-06 15:24:12 +02:00
committed by GitHub
parent f529104348
commit 9451328a85
3 changed files with 65 additions and 7 deletions

View File

@ -41,6 +41,16 @@ export default function bootCertificate(app) {
app.use(api); app.use(api);
} }
export function getFallbackFrontEndDate(completedChallenges, completedDate) {
var chalIds = [...Object.values(certIds), oldDataVizId];
const latestCertDate = completedChallenges
.filter(chal => chalIds.includes(chal.id))
.sort((a, b) => b.completedDate - a.completedDate)[0].completedDate;
return latestCertDate ? latestCertDate : completedDate;
}
const noNameMessage = dedent` const noNameMessage = dedent`
We need your name so we can put it on your certification. We need your name so we can put it on your certification.
Add your name to your account settings and click the save button. Add your name to your account settings and click the save button.
@ -451,13 +461,10 @@ function createShowCert(app) {
// if fullcert is not found, return the latest completedDate // if fullcert is not found, return the latest completedDate
if (certType === 'isFullStackCert' && !certChallenge) { if (certType === 'isFullStackCert' && !certChallenge) {
var chalIds = [...Object.values(certIds), oldDataVizId]; completedDate = getFallbackFrontEndDate(
completedChallenges,
const latestCertDate = completedChallenges completedDate
.filter(chal => chalIds.includes(chal.id)) );
.sort((a, b) => a.completedDate < b.completedDate)[0].completedDate;
completedDate = latestCertDate ? latestCertDate : completedDate;
} }
const { username, name } = user; const { username, name } = user;

View File

@ -0,0 +1,12 @@
/* global it expect */
import { getFallbackFrontEndDate } from '../boot/certificate';
import { fullStackChallenges } from './fixtures';
describe('boot/certificate', () => {
describe('getFallbackFrontEndDate', () => {
it('should return the date of the latest completed challenge', () => {
expect(getFallbackFrontEndDate(fullStackChallenges)).toBe(1685210952511);
});
});
});

View File

@ -178,3 +178,42 @@ export const mockPathMigrationMap = {
'challenge-one': '/learn/superblock/block/challenge-one', 'challenge-one': '/learn/superblock/block/challenge-one',
'challenge-two': '/learn/superblock/block/challenge-two' 'challenge-two': '/learn/superblock/block/challenge-two'
}; };
export const fullStackChallenges = [
{
completedDate: 1585210952511,
id: '5a553ca864b52e1d8bceea14',
challengeType: 7,
files: []
},
{
completedDate: 1585210952511,
id: '561add10cb82ac38a17513bc',
challengeType: 7,
files: []
},
{
completedDate: 1588665778679,
id: '561acd10cb82ac38a17513bc',
challengeType: 7,
files: []
},
{
completedDate: 1685210952511,
id: '561abd10cb81ac38a17513bc',
challengeType: 7,
files: []
},
{
completedDate: 1585210952511,
id: '561add10cb82ac38a17523bc',
challengeType: 7,
files: []
},
{
completedDate: 1588665778679,
id: '561add10cb82ac38a17213bc',
challengeType: 7,
files: []
}
];