diff --git a/api/src/routes/protected/certificate.test.ts b/api/src/routes/protected/certificate.test.ts index d3ef3ed54cc..6fdb7de8711 100644 --- a/api/src/routes/protected/certificate.test.ts +++ b/api/src/routes/protected/certificate.test.ts @@ -127,6 +127,7 @@ describe('certificate routes', () => { isCertMap: { is2018DataVisCert: false, isA2EnglishCert: false, + isB1EnglishCert: false, isApisMicroservicesCert: false, isBackEndCert: false, isCollegeAlgebraPyCertV8: false, @@ -223,6 +224,7 @@ describe('certificate routes', () => { ], is2018DataVisCert: true, isA2EnglishCert: true, + isB1EnglishCert: true, isApisMicroservicesCert: true, isCollegeAlgebraPyCertV8: true, isDataAnalysisPyCertV7: true, diff --git a/api/src/routes/protected/user.test.ts b/api/src/routes/protected/user.test.ts index ade695aa1e3..3efd18eb4a4 100644 --- a/api/src/routes/protected/user.test.ts +++ b/api/src/routes/protected/user.test.ts @@ -337,6 +337,7 @@ const sessionUserData = { const baseProgressData = { currentChallengeId: '', isA2EnglishCert: false, + isB1EnglishCert: false, isRespWebDesignCert: false, is2018DataVisCert: false, isFrontEndLibsCert: false, diff --git a/api/src/routes/public/user.test.ts b/api/src/routes/public/user.test.ts index 302c6feef79..f13fb9839c3 100644 --- a/api/src/routes/public/user.test.ts +++ b/api/src/routes/public/user.test.ts @@ -188,6 +188,7 @@ const publicUserData = { is2018DataVisCert: testUserData.is2018DataVisCert, is2018FullStackCert: testUserData.is2018FullStackCert, // TODO: should this be returned? The client doesn't use it at the moment. isA2EnglishCert: testUserData.isA2EnglishCert, + isB1EnglishCert: testUserData.isB1EnglishCert, isApisMicroservicesCert: testUserData.isApisMicroservicesCert, isBackEndCert: testUserData.isBackEndCert, isCheater: testUserData.isCheater, diff --git a/api/src/schemas/users/get-public-profile.ts b/api/src/schemas/users/get-public-profile.ts index 2e7cd2348e6..f0b24100e0c 100644 --- a/api/src/schemas/users/get-public-profile.ts +++ b/api/src/schemas/users/get-public-profile.ts @@ -53,6 +53,7 @@ export const getPublicProfile = { is2018DataVisCert: Type.Boolean(), is2018FullStackCert: Type.Boolean(), isA2EnglishCert: Type.Boolean(), + isB1EnglishCert: Type.Boolean(), isApisMicroservicesCert: Type.Boolean(), isBackEndCert: Type.Boolean(), isCheater: Type.Boolean(), diff --git a/client/src/components/profile/components/utils/certification.ts b/client/src/components/profile/components/utils/certification.ts index 016e619ce5d..08489415187 100644 --- a/client/src/components/profile/components/utils/certification.ts +++ b/client/src/components/profile/components/utils/certification.ts @@ -4,6 +4,7 @@ import { User } from '../../../../redux/prop-types'; export const getCertifications = (user: User) => { const { isA2EnglishCert, + isB1EnglishCert, isRespWebDesignCert, isRespWebDesignCertV9, is2018DataVisCert, @@ -32,6 +33,7 @@ export const getCertifications = (user: User) => { return { hasModernCert: isA2EnglishCert || + isB1EnglishCert || isRespWebDesignCertV9 || isJavascriptCertV9 || isFoundationalCSharpCertV8 || @@ -63,6 +65,11 @@ export const getCertifications = (user: User) => { title: 'A2 English for Developers Certification (Beta)', certSlug: Certification.A2English }, + { + show: isB1EnglishCert, + title: 'B1 English for Developers Certification (Beta)', + certSlug: Certification.B1English + }, { show: isRespWebDesignCertV9, title: 'Responsive Web Design Certification', diff --git a/client/src/components/profile/profile.test.tsx b/client/src/components/profile/profile.test.tsx index 9e1b9a0c9f5..02ec8a7b3c8 100644 --- a/client/src/components/profile/profile.test.tsx +++ b/client/src/components/profile/profile.test.tsx @@ -55,6 +55,7 @@ const userProps = { isDonating: false, is2018DataVisCert: true, isA2EnglishCert: true, + isB1EnglishCert: true, isApisMicroservicesCert: true, isBackEndCert: true, isDataVisCert: true, diff --git a/e2e/cert-username-case-navigation.spec.ts b/e2e/cert-username-case-navigation.spec.ts index 6b597fa33d1..3d57b94664d 100644 --- a/e2e/cert-username-case-navigation.spec.ts +++ b/e2e/cert-username-case-navigation.spec.ts @@ -16,7 +16,7 @@ test.describe('Public profile certifications', () => { await expect( page.getByRole('link', { name: /View.+Certification/ }) - ).toHaveCount(24); + ).toHaveCount(25); }); test('Should show claimed certifications if the username includes uppercase characters', async ({ @@ -48,7 +48,7 @@ test.describe('Public profile certifications', () => { await page.waitForURL('/certifiedboozer'); await expect( page.getByRole('link', { name: /View.+Certification/ }) - ).toHaveCount(24); + ).toHaveCount(25); }); test.afterAll(() => { diff --git a/shared/config/certification-settings.ts b/shared/config/certification-settings.ts index 35b18f36a7f..40947a925d1 100644 --- a/shared/config/certification-settings.ts +++ b/shared/config/certification-settings.ts @@ -55,6 +55,7 @@ export function isCertification(x: string): x is Certification { // live and not legacy. export const currentCertifications = [ Certification.A2English, + Certification.B1English, Certification.FoundationalCSharp, Certification.JsV9, Certification.PythonV9, @@ -96,7 +97,6 @@ export const upcomingCertifications = [ Certification.FrontEndDevLibsV9, Certification.BackEndDevApisV9, Certification.FullStackDeveloperV9, - Certification.B1English, Certification.A2Spanish, Certification.A2Chinese, Certification.A1Chinese diff --git a/tools/scripts/seed/user-data.js b/tools/scripts/seed/user-data.js index 9bf7c6b33f6..c3bd4f397a6 100644 --- a/tools/scripts/seed/user-data.js +++ b/tools/scripts/seed/user-data.js @@ -221,6 +221,7 @@ module.exports.fullyCertifiedUser = { currentChallengeId: '', isHonest: true, isA2EnglishCert: true, + isB1EnglishCert: true, isFrontEndCert: true, isDataVisCert: true, isBackEndCert: true,