Skip to content

Commit 6508977

Browse files
fix: separate mock hashnode posts and pages by locale, prep for ghost and hashnode sourced tests
1 parent 35e7a1c commit 6508977

File tree

5 files changed

+108
-2
lines changed

5 files changed

+108
-2
lines changed
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"publication": {
3+
"id": "66b480adaf27fa913ea28cf2",
4+
"staticPages": {
5+
"edges": [
6+
{
7+
"node": {
8+
"id": "6888a7492e762c5f8ce2a652",
9+
"slug": "test-hashnode-page",
10+
"title": "Test Hashnode Page",
11+
"content": {
12+
"html": "<p>Testing testing 123</p>\n",
13+
"markdown": "Testing testing 123"
14+
}
15+
}
16+
}
17+
],
18+
"pageInfo": {
19+
"endCursor": "MQ==",
20+
"hasNextPage": false
21+
}
22+
}
23+
}
24+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"publication": {
3+
"posts": {
4+
"edges": [
5+
{
6+
"node": {
7+
"id": "688888f0fd8cbabd8e491bff",
8+
"slug": "aprende-react-en-tu-navegador-freecodecamp-full-stack-curriculum-mid-2025-update",
9+
"title": "Aprende React en tu Navegador: freeCodeCamp Full Stack Curriculum Mid-2025 Update",
10+
"author": {
11+
"id": "5e1ec0f67a1d3fcc59029548",
12+
"username": "rafaeldavish",
13+
"name": "Rafael D. Hernandez",
14+
"bio": {
15+
"text": "I'm a web developer passionate about all things JS and ☕ coffee enthusiast based out of the state of Virginia A career changer, who is always seeking to grow as an individual and a professional.\n"
16+
},
17+
"profilePicture": "https://cdn.hashnode.com/res/hashnode/image/upload/v1579073783609/DK3LzKvGe.jpeg",
18+
"socialMediaLinks": {
19+
"website": "https://rafaeldavis.dev",
20+
"twitter": "",
21+
"facebook": "",
22+
"instagram": "",
23+
"github": "https://github.com/RafaelDavisH",
24+
"stackoverflow": "",
25+
"linkedin": "",
26+
"youtube": ""
27+
},
28+
"location": ""
29+
},
30+
"tags": [
31+
{
32+
"id": "57039f98f950faa9ab7ec552",
33+
"name": "freeCodeCamp.org",
34+
"slug": "freecodecamp"
35+
}
36+
],
37+
"coverImage": null,
38+
"brief": "¡Hola! La comunidad freeCodeCamp sigue trabajando muy duro en el resto de los cursos de nuestro plan de estudios de full stack.\nSolo han pasado unos meses, pero ya hay muchos estudiantes que van con toda su fuerza a través de estas nuevas lecciones y...",
39+
"readTimeInMinutes": 2,
40+
"content": {
41+
"html": "<p>¡Hola! La comunidad freeCodeCamp sigue trabajando muy duro en el resto de los cursos de nuestro plan de estudios de <a target=\"_blank\" href=\"https://www.freecodecamp.org/learn/full-stack-developer/\">full stack</a>.</p>\n<p>Solo han pasado unos meses, pero ya hay muchos estudiantes que van con toda su fuerza a través de estas nuevas lecciones y desafíos de programación.</p>\n<p>Estoy emocionada de compartir nuestra próxima ola de actualizaciones con todos ustedes.</p>\n<h2 id=\"heading-nuevo-plan-de-estudios\">Nuevo plan de estudios</h2>\n<p><img src=\"https://cdn.hashnode.com/res/hashnode/image/upload/v1753778329224/0d3dc4b9-3c1b-46d1-8eb5-9ce89f08a3b3.webp\" alt class=\"image--center mx-auto\" /></p>\n<p>Acabamos de lanzar tres nuevas secciones del plan de estudios: React Hooks y Estado, Performance y Testing.</p>\n<p>Este nuevo contenido incluye:</p>\n<ul>\n<li><p>50 videos explicativos</p>\n</li>\n<li><p>una docena de talleres y laboratorios</p>\n</li>\n<li><p>tres bloques de repaso nuevos</p>\n</li>\n<li><p>y mucho material para ayudarte a seguir avanzando mientras terminamos el resto del contenido Full Stack.</p>\n</li>\n</ul>\n<p>Algunos proyectos que vas a construir:</p>\n<ul>\n<li><p>un juego completo de Tic Tac Toe</p>\n</li>\n<li><p>un selector de colores</p>\n</li>\n<li><p>y un formulario para aplicar como superhéroe 🦸‍♂️</p>\n</li>\n</ul>\n<h2 id=\"heading-examenes\">Exámenes</h2>\n<p>Sabemos que muchos están esperando los exámenes al final de cada módulo. Ya casi están listos.</p>\n<p>También estamos creando un entorno de examen propio, que busca cuidar tu privacidad y mantener la integridad académica.</p>\n<h2 id=\"heading-que-sigue\">¿Qué sigue?</h2>\n<p>Ahora estamos trabajando en los módulos de CSS Libraries y TypeScript. También vienen módulos de Python.</p>\n<p>En los próximos meses lanzaremos un montón de cosas nuevas.</p>\n<p>Un adelanto de los próximos proyectos:</p>\n<ul>\n<li><p>crea tu propio personaje de RPG</p>\n</li>\n<li><p>un juego de cartas coleccionables</p>\n</li>\n<li><p>un validador de datos médicos</p>\n</li>\n<li><p>y mucho más 🏕️</p>\n</li>\n</ul>\n<h2 id=\"heading-te-gustaria-ayudar\">¿Te gustaría ayudar?</h2>\n<p>Si quieres ser parte del desarrollo del plan Full Stack, tenemos muchas formas de contribuir. Mira los <a target=\"_blank\" href=\"https://github.com/freecodecamp/freecodecamp/issues\">issues abiertos en nuestro repo de GitHub</a>.</p>\n<p>Empieza leyendo <a target=\"_blank\" href=\"https://contribute.freecodecamp.org/intro/\">la guía de bienvenida para contribuidores</a> y <a target=\"_blank\" href=\"https://discord.gg/KVUmVXA\">únete a nuestro Discord si tienes preguntas</a>.</p>\n<p>Nos emociona verte avanzar con todo este contenido nuevo. ¡Sigue creciendo tus habilidades!</p>\n<p>¡Feliz programación! 💜</p>\n"
42+
},
43+
"seo": {
44+
"description": "const fccOriginalPost = \"https://www.freecodecamp.org/news/learn-react-in-your-browser-freecodecamp-full-stack-curriculum-mid-2025-update/\";"
45+
},
46+
"publishedAt": "2025-06-19T15:00:00.000Z",
47+
"updatedAt": "2025-07-29T08:41:46.261Z"
48+
}
49+
}
50+
],
51+
"pageInfo": {
52+
"endCursor": "NjczNWI3NmY3Nzc5NTQ2ZDYzMDBlNTYwXzIwMjQtMTEtMTRUMDg6NDA6MTUuMzg0Wg==",
53+
"hasNextPage": false
54+
}
55+
}
56+
}
57+
}

utils/hashnode/fetch-from-hashnode.js

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,11 +103,12 @@ export const fetchFromHashnode = async contentType => {
103103
while (retries > 0 && !success) {
104104
try {
105105
const res =
106-
eleventyEnv === 'ci' && currentLocale_i18n === 'english'
106+
eleventyEnv === 'ci' &&
107+
['english', 'espanol'].includes(currentLocale_i18n)
107108
? loadJSON(
108109
join(
109110
import.meta.dirname,
110-
`../../cypress/fixtures/mock-hashnode-${contentType}.json`
111+
`../../cypress/fixtures/${currentLocale_i18n}/mock-hashnode-${contentType}.json`
111112
)
112113
)
113114
: await request(hashnodeAPIURL, query, {
@@ -123,6 +124,30 @@ export const fetchFromHashnode = async contentType => {
123124
}
124125
});
125126

127+
// let res;
128+
// if (
129+
// eleventyEnv === 'ci' &&
130+
// ['english', 'espanol'].includes(currentLocale_i18n)
131+
// ) {
132+
// res = loadJSON(
133+
// join(
134+
// import.meta.dirname,
135+
// `../../cypress/fixtures/${currentLocale_i18n}/mock-hashnode-${contentType}.json`
136+
// )
137+
// );
138+
// } else {
139+
// res = await request(hashnodeAPIURL, query, {
140+
// host: hashnodeHost,
141+
// first: 20,
142+
// after,
143+
// filter: {
144+
// requiredTagSlugs: sharedHostLocales.includes(currentLocale_i18n)
145+
// ? [`fcc-${currentLocale_i18n}`]
146+
// : []
147+
// }
148+
// });
149+
// }
150+
126151
if (!res.publication) {
127152
console.warn(`
128153
----------------------------------------------------

0 commit comments

Comments
 (0)