Skip to content

Commit 4653b96

Browse files
authored
[ES] Update part5d.md
Remove duplicated content and add missing explanations
1 parent 7aa385d commit 4653b96

File tree

1 file changed

+27
-45
lines changed

1 file changed

+27
-45
lines changed

src/content/5/es/part5d.md

Lines changed: 27 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ Agreguemos un script npm al <i>backend </i> que lo inicia en modo de prueba, o p
6363
{
6464
// ...
6565
"scripts": {
66-
"start": "cross-env NODE_ENV=production node index.js",
67-
"dev": "cross-env NODE_ENV=development nodemon index.js",
66+
"start": "NODE_ENV=production node index.js",
67+
"dev": "NODE_ENV=development nodemon index.js",
6868
"build:ui": "rm -rf build && cd ../../../2/luento/notes && npm run build && cp -r build ../../../3/luento/notes-backend",
6969
"deploy": "git push heroku master",
7070
"deploy:full": "npm run build:ui && git add . && git commit -m uibuild && git push && npm run deploy",
7171
"logs:prod": "heroku logs --tail",
7272
"lint": "eslint .",
73-
"test": "cross-env NODE_ENV=test jest --verbose --runInBand",
74-
"start:test": "cross-env NODE_ENV=test node index.js" // highlight-line
73+
"test": "NODE_ENV=test jest --verbose --runInBand",
74+
"start:test": "NODE_ENV=test node index.js" // highlight-line
7575
},
7676
// ...
7777
}
@@ -83,7 +83,25 @@ Cuando tanto el backend como el frontend están ejecutándose, podemos iniciar C
8383
npm run cypress:open
8484
```
8585

86-
Cuando ejecutamos Cypress por primera vez, crea un directorio <i>cypress</i>. Contiene un subdirectorio <i> integration </i>, donde colocaremos nuestras pruebas. Cypress crea un montón de pruebas de ejemplo para nosotros en el directorio <i>integration/examples</i>. Podemos eliminar el directorio <i>examples</i> y hacer nuestra propia prueba en el archivo <i>note\\_app.spec.js</i>:
86+
Cypress nos pregunta qué tipo de test realizaremos. Debemos elegir "E2E Testing":
87+
88+
![cypress arrow towards e2e testing option](../../images/5/51new.png)
89+
90+
A continuación debemos elegir un navegador (por ejemplo Chrome) y luego debemos hacer click en "Create new spec":
91+
92+
![create new spec with arrow pointing towards it](../../images/5/52new.png)
93+
94+
Creemos el archivo de test <i>cypress/e2e/note\_app.cy.js</i>:
95+
96+
![cypress with path cypress/e2e/note_app.cy.js](../../images/5/53new.png)
97+
98+
Podemos editar el test en Cypress, pero usemos en cambio VS Code:
99+
100+
![vscode showing edits of test and cypress showing spec added](../../images/5/54new.png)
101+
102+
Ahora podemos cerrar la vista de edición de Cypress.
103+
104+
Cambiemos el contenido del test como se muestra a continuación:
87105

88106
```js
89107
describe('Note app', function() {
@@ -298,8 +316,6 @@ La última fila asegura que el inicio de sesión fue exitoso.
298316

299317
Tenga en cuenta que el CSS [id-selector](https://developer.mozilla.org/en-US/docs/Web/CSS/ID_selectors) es #, así que si queremos buscar un elemento con el id <i>username</i> el selector de CSS es <i>#username</i>.
300318

301-
### Algunas cosas a tener en cuenta
302-
303319
La prueba primero hace clic en el botón que abre el formulario de inicio de sesión como
304320

305321
```js
@@ -319,40 +335,6 @@ Si buscamos un botón por su texto, [cy.contains](https://docs.cypress.io/api/co
319335
Esto sucederá incluso si el botón no está visible.
320336
Para evitar conflictos de nombres, le dimos al botón de enviar la identificación <i>login-button</i> que podemos usar para acceder a él.
321337

322-
Ahora notamos que la variable _cy_ que usan nuestras pruebas nos da un desagradable error de Eslint
323-
324-
![](../../images/5/30ea.png)
325-
326-
Podemos deshacernos de él instalando [eslint-plugin-cypress](https://github.com/cypress-io/eslint-plugin-cypress) como una dependencia de desarrollo
327-
328-
```js
329-
npm install eslint-plugin-cypress --save-dev
330-
```
331-
332-
y cambiando la configuración en <i>.eslintrc.js</i> así:
333-
334-
```js
335-
module.exports = {
336-
"env": {
337-
"browser": true,
338-
"es6": true,
339-
"jest/globals": true,
340-
"cypress/globals": true // highlight-line
341-
},
342-
"extends": [
343-
// ...
344-
],
345-
"parserOptions": {
346-
// ...
347-
},
348-
"plugins": [
349-
"react", "jest", "cypress" // highlight-line
350-
],
351-
"rules": {
352-
// ...
353-
}
354-
}
355-
```
356338

357339
### Probando un nuevo formulario de nota
358340

@@ -933,13 +915,13 @@ Reemplazemos todas las direcciones del backend en los tests de la siguiente mane
933915
describe('Note ', function() {
934916
beforeEach(function() {
935917
cy.visit('')
936-
cy.request('POST', `${Cypress.env('EXTERNAL_API')}/testing/reset`) // highlight-line
918+
cy.request('POST', `${Cypress.env('BACKEND')}/testing/reset`) // highlight-line
937919
const user = {
938920
name: 'Matti Luukkainen',
939921
username: 'mluukkai',
940922
password: 'secret'
941923
}
942-
cy.request('POST', `${Cypress.env('EXTERNAL_API')}/users`, user) // highlight-line
924+
cy.request('POST', `${Cypress.env('BACKEND')}/users`, user) // highlight-line
943925
})
944926
// ...
945927
})
@@ -1116,7 +1098,7 @@ El frontend y los tests/pruebas se pueden encontrar en [github](https://github.c
11161098
11171099
En los últimos ejercicios de esta parte haremos algunas pruebas E2E para nuestra aplicación de blog.
11181100
El material de esta parte debería ser suficiente para completar los ejercicios.
1119-
Absolutamente también debería consultar la [documentación](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) de Cypress (https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell). Probablemente sea la mejor documentación que he visto para un proyecto de código abierto.
1101+
También debería consultar la [documentación](https://docs.cypress.io/guides/overview/why-cypress.html#In-a-nutshell) de Cypress. Probablemente sea la mejor documentación que he visto para un proyecto de código abierto.
11201102
11211103
Recomiendo especialmente leer [Introducción a Cypress](https://docs.cypress.io/guides/core-concepts/introduction-to-cypress.html#Cypress-Can-Be-Simple-Sometimes), que afirma que
11221104
@@ -1142,7 +1124,7 @@ describe('Blog app', function() {
11421124
})
11431125
```
11441126
1145-
El blog de formateo <i>beforeEach</i> debe vaciar la base de datos utilizando, por ejemplo, el método que usamos en el [material](/es​​/part5/end_to_end_testing#controlando-el-estado-de-la-base-de-datos).
1127+
El blog de formateo <i>beforeEach</i> debe vaciar la base de datos utilizando, por ejemplo, el método que usamos en el [material](/es/part5/pruebas_de_extremo_a_extremo#controlar-el-estado-de-la-base-de-datos).
11461128
11471129
#### 5.18: prueba de extremo a extremo de la lista de blogs, paso 2
11481130

0 commit comments

Comments
 (0)