mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2025-12-19 18:18:27 -05:00
feat: release a2-english exam (#63136)
This commit is contained in:
@@ -38,6 +38,7 @@ describe('certificate routes', () => {
|
||||
data: {
|
||||
completedChallenges: [],
|
||||
name: 'fcc',
|
||||
isA2EnglishCert: false,
|
||||
isRespWebDesignCert: false,
|
||||
isJsAlgoDataStructCert: false,
|
||||
isFrontEndLibsCert: false,
|
||||
@@ -135,6 +136,7 @@ describe('certificate routes', () => {
|
||||
},
|
||||
isCertMap: {
|
||||
is2018DataVisCert: false,
|
||||
isA2EnglishCert: false,
|
||||
isApisMicroservicesCert: false,
|
||||
isBackEndCert: false,
|
||||
isCollegeAlgebraPyCertV8: false,
|
||||
@@ -238,7 +240,8 @@ describe('certificate routes', () => {
|
||||
isInfosecCertV7: true,
|
||||
isMachineLearningPyCertV7: true,
|
||||
isCollegeAlgebraPyCertV8: true,
|
||||
isFoundationalCSharpCertV8: true
|
||||
isFoundationalCSharpCertV8: true,
|
||||
isA2EnglishCert: true
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1394,7 +1394,7 @@
|
||||
}
|
||||
},
|
||||
"a2-english-for-developers": {
|
||||
"title": "A2 English for Developers (Beta) Certification",
|
||||
"title": "A2 English for Developers Certification",
|
||||
"intro": [
|
||||
"In this English for Developers Curriculum, you'll learn the essentials of English communication. This will follow the A2 level of the Common European Framework of Reference (CEFR). And we've focused on vocabulary that is particularly useful for developers.",
|
||||
"The first half of the curriculum will help you get comfortable with English grammar and usage. It will give you tons of hands-on practice. You'll learn basics like introducing yourself, making small talk, and discussing your work.",
|
||||
@@ -2372,7 +2372,10 @@
|
||||
"Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility."
|
||||
]
|
||||
},
|
||||
"qpra": { "title": "30", "intro": [] },
|
||||
"qpra": {
|
||||
"title": "30",
|
||||
"intro": []
|
||||
},
|
||||
"lecture-understanding-computer-internet-and-tooling-basics": {
|
||||
"title": "Understanding Computer, Internet, and Tooling Basics",
|
||||
"intro": [
|
||||
@@ -4170,7 +4173,10 @@
|
||||
"Open up this page to review all of the concepts taught including variables, strings, booleans, functions, objects, arrays, debugging, working with the DOM and more."
|
||||
]
|
||||
},
|
||||
"kagw": { "title": "258", "intro": [] },
|
||||
"kagw": {
|
||||
"title": "258",
|
||||
"intro": []
|
||||
},
|
||||
"lecture-introduction-to-javascript-libraries-and-frameworks": {
|
||||
"title": "Introduction to JavaScript Libraries and Frameworks",
|
||||
"intro": [
|
||||
@@ -4443,11 +4449,26 @@
|
||||
"In this lesson, you will learn about TypeScript configuration files and how to use them."
|
||||
]
|
||||
},
|
||||
"trvf": { "title": "293", "intro": [] },
|
||||
"kwmg": { "title": "294", "intro": [] },
|
||||
"nodx": { "title": "295", "intro": [] },
|
||||
"erfj": { "title": "296", "intro": [] },
|
||||
"muyw": { "title": "297", "intro": [] },
|
||||
"trvf": {
|
||||
"title": "293",
|
||||
"intro": []
|
||||
},
|
||||
"kwmg": {
|
||||
"title": "294",
|
||||
"intro": []
|
||||
},
|
||||
"nodx": {
|
||||
"title": "295",
|
||||
"intro": []
|
||||
},
|
||||
"erfj": {
|
||||
"title": "296",
|
||||
"intro": []
|
||||
},
|
||||
"muyw": {
|
||||
"title": "297",
|
||||
"intro": []
|
||||
},
|
||||
"review-typescript": {
|
||||
"title": "Typescript Review",
|
||||
"intro": [
|
||||
@@ -4465,8 +4486,14 @@
|
||||
"Review the Front End Libraries concepts to prepare for the upcoming quiz."
|
||||
]
|
||||
},
|
||||
"rdzk": { "title": "301", "intro": [] },
|
||||
"vtpz": { "title": "302", "intro": [] },
|
||||
"rdzk": {
|
||||
"title": "301",
|
||||
"intro": []
|
||||
},
|
||||
"vtpz": {
|
||||
"title": "302",
|
||||
"intro": []
|
||||
},
|
||||
"lecture-introduction-to-python": {
|
||||
"title": "Introduction to Python",
|
||||
"intro": [
|
||||
@@ -7570,8 +7597,14 @@
|
||||
"title": "Introducing Yourself Basics",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-learn-meet-luna": { "title": "Meet Luna", "intro": ["", ""] },
|
||||
"es-a1-learn-meet-mateo": { "title": "Meet Mateo", "intro": ["", ""] },
|
||||
"es-a1-learn-meet-luna": {
|
||||
"title": "Meet Luna",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-learn-meet-mateo": {
|
||||
"title": "Meet Mateo",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"es-a1-learn-meet-julieta": {
|
||||
"title": "Meet Julieta",
|
||||
"intro": ["", ""]
|
||||
@@ -8010,7 +8043,10 @@
|
||||
"Open up this page to review concepts around the basics of HTML elements, semantic HTML, tables, forms and accessibility."
|
||||
]
|
||||
},
|
||||
"qpra": { "title": "30", "intro": [] },
|
||||
"qpra": {
|
||||
"title": "30",
|
||||
"intro": []
|
||||
},
|
||||
"lecture-understanding-computer-internet-and-tooling-basics": {
|
||||
"title": "Understanding Computer, Internet, and Tooling Basics",
|
||||
"intro": [
|
||||
@@ -8736,7 +8772,10 @@
|
||||
"title": "Single Finals",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-learn-initials": { "title": "Initials", "intro": ["", ""] },
|
||||
"zh-a1-learn-initials": {
|
||||
"title": "Initials",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-learn-compound-finals": {
|
||||
"title": "Compound Finals",
|
||||
"intro": ["", ""]
|
||||
@@ -8787,12 +8826,18 @@
|
||||
"title": "Introducing Others Basics",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-learn-the-team": { "title": "The Team", "intro": ["", ""] },
|
||||
"zh-a1-learn-the-team": {
|
||||
"title": "The Team",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-learn-a-new-colleague": {
|
||||
"title": "A New Colleague",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-learn-my-family": { "title": "My Family", "intro": ["", ""] },
|
||||
"zh-a1-learn-my-family": {
|
||||
"title": "My Family",
|
||||
"intro": ["", ""]
|
||||
},
|
||||
"zh-a1-practice-introducing-others": {
|
||||
"title": "Introducing Others Practice",
|
||||
"intro": ["", ""]
|
||||
@@ -8955,7 +9000,9 @@
|
||||
"part-12": "Containers",
|
||||
"part-13": "Using Relational Databases"
|
||||
},
|
||||
"modules": { "basic-html": "Basic HTML" },
|
||||
"modules": {
|
||||
"basic-html": "Basic HTML"
|
||||
},
|
||||
"module-intros": {
|
||||
"basic-html": {
|
||||
"title": "Basic HTML",
|
||||
@@ -8968,7 +9015,9 @@
|
||||
"daily-coding-challenge": {
|
||||
"title": "Daily Coding Challenge",
|
||||
"blocks": {
|
||||
"daily-coding-challenge": { "title": "Daily Coding Challenge" }
|
||||
"daily-coding-challenge": {
|
||||
"title": "Daily Coding Challenge"
|
||||
}
|
||||
}
|
||||
},
|
||||
"misc-text": {
|
||||
|
||||
@@ -57,7 +57,6 @@ export const ConditionalDonationAlert = ({
|
||||
const betaCertifications: SuperBlocks[] = [];
|
||||
|
||||
const unfinishedCertifications = [
|
||||
SuperBlocks.A2English,
|
||||
SuperBlocks.B1English,
|
||||
SuperBlocks.A1Spanish,
|
||||
SuperBlocks.A2Spanish,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "A2 English for Developers Certification Exam",
|
||||
"isUpcomingChange": true,
|
||||
"isUpcomingChange": false,
|
||||
"dashedName": "en-a2-certification-exam",
|
||||
"helpCategory": "English",
|
||||
"challengeOrder": [
|
||||
|
||||
@@ -16,7 +16,7 @@ test.describe('Public profile certifications', () => {
|
||||
|
||||
await expect(
|
||||
page.getByRole('link', { name: /View.+Certification/ })
|
||||
).toHaveCount(19);
|
||||
).toHaveCount(20);
|
||||
});
|
||||
|
||||
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(19);
|
||||
).toHaveCount(20);
|
||||
});
|
||||
|
||||
test.afterAll(() => {
|
||||
|
||||
@@ -12,7 +12,7 @@ const LANDING_PAGE_LINKS = [
|
||||
},
|
||||
{
|
||||
slug: 'a2-english-for-developers',
|
||||
name: 'A2 English for Developers (Beta) Certification'
|
||||
name: 'A2 English for Developers Certification'
|
||||
},
|
||||
{
|
||||
slug: 'b1-english-for-developers',
|
||||
|
||||
@@ -32,8 +32,8 @@ export enum Certification {
|
||||
PythonV9 = 'python-v9',
|
||||
RelationalDbV9 = 'relational-databases-v9',
|
||||
BackEndDevApisV9 = 'back-end-development-and-apis-v9',
|
||||
A2English = 'a2-english-for-developers',
|
||||
FullStackDeveloperV9 = 'full-stack-developer-v9',
|
||||
A2English = 'a2-english-for-developers-v8',
|
||||
B1English = 'b1-english-for-developers-v8',
|
||||
A2Spanish = 'a2-professional-spanish-v8',
|
||||
A2Chinese = 'a2-professional-chinese-v8',
|
||||
@@ -54,6 +54,7 @@ export function isCertification(x: string): x is Certification {
|
||||
// "Current" certifications are the subset of standard certifications that are
|
||||
// live and not legacy.
|
||||
export const currentCertifications = [
|
||||
Certification.A2English,
|
||||
Certification.FoundationalCSharp
|
||||
] as const;
|
||||
|
||||
@@ -95,7 +96,6 @@ export const upcomingCertifications = [
|
||||
Certification.RelationalDbV9,
|
||||
Certification.BackEndDevApisV9,
|
||||
Certification.FullStackDeveloperV9,
|
||||
Certification.A2English,
|
||||
Certification.B1English,
|
||||
Certification.A2Spanish,
|
||||
Certification.A2Chinese,
|
||||
@@ -205,11 +205,11 @@ export const certSlugTypeMap = {
|
||||
[Certification.RelationalDb]: certTypes.relationalDatabaseV8,
|
||||
[Certification.CollegeAlgebraPy]: certTypes.collegeAlgebraPyV8,
|
||||
[Certification.FoundationalCSharp]: certTypes.foundationalCSharpV8,
|
||||
[Certification.A2English]: certTypes.a2English,
|
||||
|
||||
// upcoming
|
||||
[Certification.RespWebDesignV9]: certTypes.respWebDesignV9,
|
||||
[Certification.JsV9]: certTypes.javascriptV9,
|
||||
[Certification.A2English]: certTypes.a2English
|
||||
[Certification.JsV9]: certTypes.javascriptV9
|
||||
};
|
||||
|
||||
export const superBlockCertTypeMap = {
|
||||
|
||||
@@ -72,7 +72,7 @@ export const superBlockList = [
|
||||
path: 'foundational-c-sharp-with-microsoft'
|
||||
},
|
||||
{
|
||||
name: 'A2 English for Developers (Beta)',
|
||||
name: 'A2 English for Developers',
|
||||
path: 'a2-english-for-developers'
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user