Skip to content

✅ test con cypress#3

Open
davidm888 wants to merge 1 commit intoLIDR-academy:mainfrom
davidm888:test-DMA
Open

✅ test con cypress#3
davidm888 wants to merge 1 commit intoLIDR-academy:mainfrom
davidm888:test-DMA

Conversation

@davidm888
Copy link

@davidm888 davidm888 commented Dec 5, 2025

Summary by CodeRabbit

  • Tests

    • Added end-to-end test suite for Position interface validating UI rendering, candidate placement across columns, and drag-and-drop interactions
    • Configured Cypress for automated end-to-end testing
  • Documentation

    • Added setup guidelines for end-to-end testing framework
  • Chores

    • Added Cypress as development dependency with required configuration files

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 5, 2025

Walkthrough

The pull request adds Cypress end-to-end testing infrastructure to the frontend project. It includes a Cypress configuration file, a test suite for the Position interface, support files for custom commands, a devDependency entry for Cypress, and documentation outlining the setup and testing procedures.

Changes

Cohort / File(s) Summary
Cypress Configuration
frontend/cypress.config.js
Configures Cypress with E2E baseUrl set to http://localhost:3000 and placeholder for node event listeners
E2E Test Suite
frontend/cypress/e2e/position.cy.js
Comprehensive test for Position Interface covering page navigation, API endpoint mocking, UI rendering validation, and keyboard-driven drag-and-drop interactions with PUT request verification
Cypress Support Infrastructure
frontend/cypress/support/commands.js,
frontend/cypress/support/e2e.js
Support files: commands.js contains example documentation for custom commands; e2e.js imports the commands module for E2E test setup
Package Configuration
frontend/package.json
Adds cypress ^15.7.1 as a devDependency
Documentation
prompts/prompts-iniciales.md
Setup guide and exercise instructions for Cypress configuration, E2E test creation, and PR delivery workflow

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

  • Note: The changes follow consistent Cypress setup patterns across multiple files. The position.cy.js test warrants slightly closer attention to verify the API mocking strategy, drag-and-drop simulation accuracy, and assertion logic for PUT request validation.

Poem

🐰 Hop hop, the tests now run so fast,
E2E checks make sure nothing's cracked,
Cypress spreads its web so wide,
Validating each candidate ride,
From Applied to Interview they glide!

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title uses an emoji and vague language ('test con cypress') that doesn't clearly convey the specific scope or purpose of the changes beyond a generic reference to Cypress testing. Replace with a more descriptive title that specifies the main objective, such as 'Add end-to-end tests for Position interface with Cypress' or 'Set up Cypress E2E testing for candidate placement workflow'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (7)
frontend/package.json (1)

51-54: Cypress devDependency looks fine; consider adding helper scripts

The Cypress devDependency is wired correctly. To make usage simpler, you could add npm scripts like:

   "scripts": {
     "start": "react-scripts start",
     "build": "react-scripts build",
-    "test": "jest --config jest.config.js",
-    "eject": "react-scripts eject"
+    "test": "jest --config jest.config.js",
+    "eject": "react-scripts eject",
+    "cypress:open": "cypress open",
+    "cypress:run": "cypress run"
   },

This is optional but improves DX for running E2E tests.

prompts/prompts-iniciales.md (1)

1-173: Prompts file is informative but very noisy; consider trimming to a concise spec

The file currently mixes the exercise description with the entire chat transcript, shell commands, and tool logs. For long‑term maintainability, I’d suggest:

  • Keeping only a clear, static description of the exercise and the steps to run the Cypress tests.
  • Dropping interaction logs like “User accepted the command …”, filesystem listings, etc.
  • Normalizing headings (H1 → H2 → H3) and avoiding duplicate “User Input” headings to keep markdownlint quiet.

This will make the file much easier for others to read as a reference.

frontend/cypress/support/commands.js (1)

1-9: Placeholder commands file is fine; consider adding real commands or trimming

This example header is harmless, but once you start adding tests it may be clearer to either:

  • Add real custom commands here (e.g., for common login / DnD flows), or
  • Remove the boilerplate comment to avoid suggesting there are commands when there aren’t.

Purely a cleanliness / clarity tweak.

frontend/cypress.config.js (1)

1-10: Cypress config is valid; optional: make baseUrl environment‑aware

The defineConfig usage and e2e.baseUrl = 'http://localhost:3000' are correct for local runs. If you plan to run these tests in other environments (different ports / hosts), consider wiring baseUrl to an env var (e.g. CYPRESS_BASE_URL) instead of hard‑coding it, so CI and local dev can share the same config.

frontend/cypress/e2e/position.cy.js (3)

6-56: Interceptors work; consider loosening URL coupling for flexibility

The cy.intercept calls and aliases look good and are set up before cy.visit, which is correct. To make tests less tied to a specific backend host/port, you might:

  • Use a route matcher pattern instead of a full URL, e.g.:
    cy.intercept('GET', **/positions/${positionId}/interviewFlow, {...})
  • Or derive the API host from Cypress.env() so switching environments doesn’t require touching test code.

Not mandatory, but it will make these tests more resilient if the API URL changes.


58-77: Selectors are valid but a bit brittle; prefer test‑friendly attributes

Using cy.contains('Applied').parent().parent() to reach the column works but depends tightly on the DOM structure. If StageColumn markup changes, tests may break unnecessarily.

If possible, consider adding data attributes in the app (e.g. data-testid="stage-column-Applied") and selecting via those, or scoping contains to a known container, to keep tests stable across UI refactors.


79-114: DnD flow basically works; reduce flakiness from waits and strict body match

The keyboard DnD sequence (focus → space → arrow right → space) matches how react-beautiful-dnd handles keyboard dragging, so the flow is sound. A couple of small robustness tweaks:

  • Replace fixed cy.wait(500) / cy.wait(200) with assertions Cypress can retry (e.g., wait for the card to be focused or for some ARIA attribute to change) to avoid time‑sensitive flakes.

  • The expect(interception.request.body).to.deep.equal({ ... }) is very strict; if the real API adds extra fields later, this test will fail. Safer pattern:

    cy.wait('@updateCandidate').then(({ request }) => {
      expect(request.body.applicationId).to.eq(applicationId);
      expect(request.body.currentInterviewStep).to.eq(2);
    });

This keeps the important contract checks while allowing the backend payload to evolve.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3d8f276 and ec7e2e7.

⛔ Files ignored due to path filters (1)
  • frontend/package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (6)
  • frontend/cypress.config.js (1 hunks)
  • frontend/cypress/e2e/position.cy.js (1 hunks)
  • frontend/cypress/support/commands.js (1 hunks)
  • frontend/cypress/support/e2e.js (1 hunks)
  • frontend/package.json (1 hunks)
  • prompts/prompts-iniciales.md (1 hunks)
🧰 Additional context used
🪛 LanguageTool
prompts/prompts-iniciales.md

[grammar] ~3-~3: Elimina la puntuación
Context: # Chat Conversation Note: _This is purely the output of the chat conver...

(QB_NEW_ES_OTHER_ERROR_IDS_UNNECESSARY_PUNCTUATION)


[grammar] ~6-~6: Cambia la forma del sustantivo.
Context: ... generate the output._ ### User Input ayudame a identificar que tareas debeo ejecutar...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_NOUN_FORM)


[grammar] ~7-~7: Corrige el error ortográfico.
Context: ...Input ayudame a identificar que tareas debeo ejecutar en este proyecto segun el sigu...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_SPELLING)


[grammar] ~7-~7: Aquí puede haber un error.
Context: ...n el siguiente texto, pero no inicies a ejecutar olo dame el paso a paso de lo que debo ...

(QB_NEW_ES)


[grammar] ~7-~7: Cambia la palabra o signo.
Context: ...iente texto, pero no inicies a ejecutar olo dame el paso a paso de lo que debo hace...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~7-~7: Aquí puede haber un error.
Context: ...dame el paso a paso de lo que debo hacer 2. Contexto En este ejercicio, tu misión es...

(QB_NEW_ES)


[grammar] ~10-~10: Corrige el error ortográfico.
Context: ...funciona correctamente mediante pruebas End-to-End (E2E). 3. Requisitos del Ejerci...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_OTHERCASE)


[grammar] ~10-~10: Corrige el error ortográfico.
Context: ...a correctamente mediante pruebas End-to-End (E2E). 3. Requisitos del Ejercicio 1....

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_OTHERCASE)


[grammar] ~12-~12: Corrige la mayúscula.
Context: ...as End-to-End (E2E). 3. Requisitos del Ejercicio 1. Configurar Cypress en el Proyecto: Si n...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~14-~14: Corrige la mayúscula.
Context: ... Ejercicio 1. Configurar Cypress en el Proyecto: Si no lo has hecho ya, instala Cypress e...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~20-~20: Corrige la mayúscula.
Context: ...pm install cypress --save-dev 2. Crear Pruebas E2E para la Interfaz "position": Debes...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~20-~20: Corrige la mayúscula.
Context: ...-save-dev 2. Crear Pruebas E2E para la Interfaz "position": Debes crear pruebas E2E pa...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~24-~24: Corrige la mayúscula.
Context: ...los siguientes escenarios: Carga de la Página de Position: Verifica que el título de ...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~25-~25: Cambia la forma del verbo.
Context: ...erifica que el título de la posición se muestra correctamente. Verifica que se muestran...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_VERB_FORM)


[grammar] ~28-~28: Corrige la mayúscula.
Context: ...orrecta según su fase actual. Cambio de Fase de un Candidato: Simula el arrastre de ...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~28-~28: Corrige la mayúscula.
Context: ...ún su fase actual. Cambio de Fase de un Candidato: Simula el arrastre de una tarjeta de can...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~32-~32: Corrige la mayúscula.
Context: ...oint PUT /candidate/:id. 4. Entrega del Ejercicio Pull Request: Realiza un pull request ...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~37-~37: Corrige la mayúscula.
Context: ... la ejecución de las pruebas E2E. Crear Pruebas E2E: Crea un archivo de prueba positio...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~41-~41: Corrige la mayúscula.
Context: ...o de fase de un candidato. Ejecución de Pruebas: Ejecuta las pruebas con el comando: npx...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~46-~46: Corrige la mayúscula.
Context: ...el comando: npx cypress open Enviar el Pull Request: Realiza un pull request en el...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~46-~46: Aquí puede haber un error.
Context: ...mando: npx cypress open Enviar el Pull Request: Realiza un pull request en el repositori...

(QB_NEW_ES)


[grammar] ~70-~70: Agrega un signo de puntuación.
Context: ...tu proyecto (donde veo que ya tienes el frontend pero no tienes Cypress instalado aú...

(QB_NEW_ES_OTHER_ERROR_IDS_MISSING_PUNCTUATION)


[grammar] ~72-~72: Corrige la mayúscula.
Context: ...r tu ejercicio. ### 1. Preparación del Entorno Como Cypress no está en tu [package.json...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~78-~78: Agrega una palabra o signo.
Context: .../frontendantes de instalar nada. 2. **Instalar Cypress**: Ejecuta el comando:npm...

(QB_NEW_ES_OTHER_ERROR_IDS_MISSING_OTHER)


[grammar] ~78-~78: Cambia la palabra o signo.
Context: ... instalar nada. 2. Instalar Cypress: Ejecuta el comando: `npm install cypress...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_SPACE)


[grammar] ~80-~80: Agrega una palabra o signo.
Context: ... npm install cypress --save-dev. 3. Inicializar Cypress: Ejecuta `npx cypress ope...

(QB_NEW_ES_OTHER_ERROR_IDS_MISSING_OTHER)


[grammar] ~80-~80: Cambia la palabra o signo.
Context: ...--save-dev. 3. **Inicializar Cypress**: Ejecuta npx cypress open`. Esto abrirá ...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~83-~83: Corrige la mayúscula.
Context: ...hora mismo no tienes. ### 2. Crear las Pruebas E2E (End-to-End) Una vez tengas la est...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~83-~83: Aquí puede haber un error.
Context: ...## 2. Crear las Pruebas E2E (End-to-End) Una vez tengas la estructura, procederás...

(QB_NEW_ES)


[style] ~85-~85: Puede conseguir una redacción más fluida prescindiendo del verbo comodín ‘proceder’.
Context: ...-to-End) Una vez tengas la estructura, procederás a crear el archivo de prueba. 1. **Crear el ar...

(PROCEDER_A)


[grammar] ~87-~87: Cambia la palabra o signo.
Context: ... Crear el archivo de especificación: Dentro de la carpeta cypress/e2e (o `c...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~88-~88: Agrega un signo de puntuación.
Context: ... Dentro de la carpeta cypress/e2e (o cypress/integration dependiendo de la versión que se instal...

(QB_NEW_ES_OTHER_ERROR_IDS_MISSING_PUNCTUATION)


[grammar] ~91-~91: Corrige la mayúscula.
Context: ...StageColumn.js): * Escenario de Carga: * Visitar la URL de detalles...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~96-~96: Cambia la palabra o signo.
Context: ...nario de Cambio de Fase (Drag & Drop)**: * Simular el arrastre de una tarjeta de un...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~103-~103: Aquí puede haber un error.
Context: ... un archivo específico de documentación. 1. Crear carpeta de prompts: En la ra...

(QB_NEW_ES)


[grammar] ~105-~105: Cambia la palabra o signo.
Context: ...ación. 1. Crear carpeta de prompts: En la raíz de tu proyecto, crea una carp...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~110-~110: Corrige la mayúscula.
Context: ...correr las pruebas. ### 4. Ejecución y Entrega Finalmente, validarás y enviarás tu trab...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_ORTHOGRAPHY_UPPERCASE)


[grammar] ~112-~112: Aquí puede haber un error.
Context: ...lmente, validarás y enviarás tu trabajo. 1. Ejecutar pruebas: Usa `npx cypress...

(QB_NEW_ES)


[grammar] ~114-~114: Cambia la palabra o signo.
Context: ...ás tu trabajo. 1. Ejecutar pruebas: Usa npx cypress open y selecciona tu a...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~116-~116: Cambia la palabra o signo.
Context: ...el navegador. 2. Crear Pull Request: Sube tus cambios (archivos de Cypress, c...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_OTHER)


[grammar] ~117-~117: Elimina la puntuación
Context: ...os de Cypress, cambios en package.json, y la carpeta prompts) a tu repositori...

(QB_NEW_ES_OTHER_ERROR_IDS_UNNECESSARY_PUNCTUATION)


[style] ~119-~119: Puede conseguir una redacción más fluida prescindiendo del verbo comodín ‘proceder’.
Context: ...repositorio y crea el PR. ¿Quieres que proceda a ejecutar el primer paso (instalación de Cypress)...

(PROCEDER_A)


[grammar] ~122-~122: Cambia la palabra según la sugerencia.
Context: ...ón de Cypress) por ti? ### User Input si, ejecuta el paso 1 y cuando termines me...

(QB_NEW_ES_OTHER_ERROR_IDS_REPLACEMENT_CONFUSION)


[grammar] ~123-~123: Aquí puede haber un error.
Context: ... preguntas si continuas con el siguiente _User accepted the command `npm install c...

(QB_NEW_ES)


[grammar] ~125-~125: Aquí puede haber un error.
Context: ... siguiente User accepted the command npm install cypress --save-dev Checked command status *Listed directo...

(QB_NEW_ES)


[grammar] ~127-~127: Aquí puede haber un error.
Context: ...ss --save-dev`_ Checked command status *Listed directory [frontend](file:///User...

(QB_NEW_ES)


[grammar] ~131-~131: Aquí puede haber un error.
Context: ...R/frontend)* User accepted the command mkdir -p cypress/e2e cypress/support Edited relevant file _Edited relevant ...

(QB_NEW_ES)


[grammar] ~133-~133: Aquí puede haber un error.
Context: ...cypress/support`_ Edited relevant file Edited relevant file _Edited relevant ...

(QB_NEW_ES)


[grammar] ~135-~135: Aquí puede haber un error.
Context: ...ed relevant file_ Edited relevant file Edited relevant file ### User Input s...

(QB_NEW_ES)


[grammar] ~137-~137: Aquí puede haber un error.
Context: ...ed relevant file_ Edited relevant file ### User Input si Edited relevant file ...

(QB_NEW_ES)


[grammar] ~143-~143: Aquí puede haber un error.
Context: ...## User Input si Edited relevant file _User accepted the command `mkdir -p prom...

(QB_NEW_ES)


[grammar] ~145-~145: Aquí puede haber un error.
Context: ...levant file_ User accepted the command mkdir -p prompts Edited relevant file ### User Input s...

(QB_NEW_ES)


[grammar] ~147-~147: Aquí puede haber un error.
Context: ...kdir -p prompts`_ Edited relevant file ### User Input si _User accepted the comma...

(QB_NEW_ES)


[grammar] ~153-~153: Aquí puede haber un error.
Context: ...er Input si User accepted the command npx cypress run Checked command status _User accepted ...

(QB_NEW_ES)


[grammar] ~155-~155: Aquí puede haber un error.
Context: ...x cypress run_ _Checked command status_ _User accepted the command BROWSER=none ...

(QB_NEW_ES)


[grammar] ~157-~157: Aquí puede haber un error.
Context: ...mand status_ User accepted the command BROWSER=none npm start Checked command status _User accepted ...

(QB_NEW_ES)


[grammar] ~159-~159: Aquí puede haber un error.
Context: ...one npm start_ _Checked command status_ _User accepted the command npx cypress r...

(QB_NEW_ES)


[grammar] ~161-~161: Aquí puede haber un error.
Context: ...mand status_ User accepted the command npx cypress run _User accepted the command `mv cypress/e2...

(QB_NEW_ES)


[grammar] ~163-~163: Aquí puede haber un error.
Context: ...ypress run_ _User accepted the command mv cypress/e2e/position.spec.js cypress/e2e/position.cy.js_ _User accepted the command npx cypress r...

(QB_NEW_ES)


[grammar] ~165-~165: Aquí puede haber un error.
Context: ...tion.cy.js_ _User accepted the command npx cypress run`_ *Listed directory [src](file:///Users/dav...

(QB_NEW_ES)


[grammar] ~171-~171: Aquí puede haber un error.
Context: ...d/src/index.tsx)* Edited relevant file _User accepted the command `npx cypress r...

(QB_NEW_ES)


[grammar] ~173-~173: Aquí puede haber un error.
Context: ...levant file_ User accepted the command npx cypress run

(QB_NEW_ES)

🪛 markdownlint-cli2 (0.18.1)
prompts/prompts-iniciales.md

5-5: Heading levels should only increment by one level at a time
Expected: h2; Actual: h3

(MD001, heading-increment)


50-50: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


50-50: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


52-52: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


52-52: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


54-54: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


54-54: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


56-56: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


58-58: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


58-58: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


60-60: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


62-62: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


62-62: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


64-64: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


64-64: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


66-66: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


66-66: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


121-121: Multiple headings with the same content

(MD024, no-duplicate-heading)


127-127: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


129-129: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


129-129: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


133-133: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


135-135: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


137-137: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


139-139: Multiple headings with the same content

(MD024, no-duplicate-heading)


143-143: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


147-147: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


149-149: Multiple headings with the same content

(MD024, no-duplicate-heading)


155-155: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


159-159: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


167-167: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


167-167: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


169-169: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


169-169: Emphasis style
Expected: underscore; Actual: asterisk

(MD049, emphasis-style)


171-171: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🔇 Additional comments (1)
frontend/cypress/support/e2e.js (1)

1-1: Support file hookup looks correct

Importing ./commands here is the right way to ensure any custom Cypress commands are available to all E2E tests. No issues from my side.

@PetraZeta
Copy link
Contributor

💬 Buena intención y setup inicial, pero entrega muy incompleta

✅ Fortalezas

  • Has utilizado la IA para obtener un plan paso a paso del ejercicio, lo que muestra iniciativa para descomponer el trabajo en tareas pequeñas y abordables.
  • La pantalla de posiciones está funcional y bien conectada con el flujo del proyecto (el botón “Ver proceso” navega a /positions/:id, lo cual es clave para poder probar luego la interfaz de detalle).
  • Tienes Cypress instalado y configurado con un baseUrl correcto, lo que indica que has preparado el entorno para empezar con las pruebas E2E.

🛠️ Recomendaciones

  • Completa la parte central del ejercicio: implementa las pruebas E2E para position (carga de la página, verificación de columnas y tarjetas, y cambio de fase de un candidato con la llamada PUT al backend). Sin esos tests, la entrega no cumple el objetivo principal.
  • Refactoriza prompts-iniciales.md: convierte el log de conversación con la IA en un documento claro para terceros, con secciones de contexto, objetivos, plan de testing y comandos de ejecución, evitando mensajes internos del sistema o logs de comandos.
  • Amplía la documentación del proyecto: añade al menos un pequeño plan de testing E2E y un resumen de requisitos de la pantalla position y del endpoint de actualización, de forma similar a otros ejercicios del curso.
  • Mejora la página de Positions pensando en testing: usa position.id como key, extrae la URL del backend a una configuración común y valora añadir data-testid para facilitar la escritura de pruebas robustas en Cypress.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants