Skip to content

Commit 968d32c

Browse files
committed
Sección de la introducción de mocha y chai para los test finalizado
1 parent cfdc203 commit 968d32c

17 files changed

+447
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
node_modules/
2+
package-lock.json

package.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"name": "test-mocha-chai",
3+
"version": "1.0.0",
4+
"description": "",
5+
"main": "index.js",
6+
"scripts": {
7+
"test": "mocha"
8+
},
9+
"repository": {
10+
"type": "git",
11+
"url": "git+https://github.com/npm-js-ts-angular-modules-course/test-mocha-chai.git"
12+
},
13+
"author": "Anartz Mugika Ledo <mugan86@gmail.com>",
14+
"license": "MIT",
15+
"bugs": {
16+
"url": "https://github.com/npm-js-ts-angular-modules-course/test-mocha-chai/issues"
17+
},
18+
"homepage": "https://github.com/npm-js-ts-angular-modules-course/test-mocha-chai#readme",
19+
"devDependencies": {
20+
"chai": "^4.2.0",
21+
"mocha": "^5.2.0"
22+
}
23+
}

test-templates/arrays.js

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
var expect = require('chai').expect;
2+
3+
describe.only('Arrays test', () => {
4+
const array = [1, 2, 4, 6, 8];
5+
// Una prueba
6+
it ('Los valores del array son iguales', () => {
7+
8+
});
9+
10+
it('Contiene el valor "2" el array', () => {
11+
12+
13+
});
14+
it('Incluye todos los números o alguno de ellos', () => {
15+
// Incluye esos números con duplicados (no tienen que estar todos)
16+
17+
});
18+
it('Contiene los valores independientemente del orden', () => {
19+
20+
});
21+
it('Tiene una longitud de 5 carácteres', () => {
22+
23+
});
24+
});

test-templates/boolean.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
var expect = require('chai').expect;
2+
describe.only('Boolean test', () => {
3+
const numero = 2;
4+
it ('El valor true es verdadero', () => {
5+
6+
});
7+
it('El valor false es falso', () => {
8+
9+
})
10+
it('1 es de tipo número', () => {
11+
12+
});
13+
it('1 NO es de tipo string', () => {
14+
15+
});
16+
it('1 NO es de tipo booleano', () => {
17+
18+
});
19+
20+
});
21+

test-templates/exclusive-test.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
// https://www.chaijs.com/api/bdd/#method_include
2+
var expect = require('chai').expect;
3+
4+
/**
5+
* Mediante el 'only' diremos que pruebas o que bloques se ejecutarán.
6+
* En el primer caso, al tener "only" junto con el describe, se ejecuta
7+
* TODAS las pruebas de dentro
8+
* En el segundo caso, solo se ejecuta la primera prueba ya que es la que tiene
9+
* "only" junto con el "it".
10+
*
11+
* La función only() hace posible ejecutar solo el bloque o el caso de prueba al
12+
* cual se lo añadamos. Es muy útil si tenemos un gran número de tests y por algún motivo
13+
* queremos ejecutar un parte de ellos o incluso un único test.
14+
*/
15+
16+
/*describe.only('Caso 1 - Only', () => {
17+
it ('Exclusive Test 1', () => {
18+
expect( true ).to.equal( true );
19+
expect( true ).to.be.true;
20+
});
21+
it ('Exclusive Test 2', () => {
22+
expect( true ).to.equal( true );
23+
expect( true ).to.be.true;
24+
});
25+
});
26+
27+
describe('Caso 2 - Only', () => {
28+
it.only ('Exclusive Test 1', () => {
29+
expect( true ).to.equal( true );
30+
expect( true ).to.be.true;
31+
});
32+
it ('Exclusive Test 2', () => {
33+
expect( true ).to.equal( true );
34+
expect( true ).to.be.true;
35+
});
36+
});*/
37+

test-templates/hooks.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
2+
describe.only('Hooks', () => {
3+
4+
});

test-templates/inclusive-test.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// https://www.chaijs.com/api/bdd/#method_include
2+
var expect = require('chai').expect;
3+
4+
/**
5+
* Podemos decir que la función skip() se comporta de forma opuesta a only().
6+
* Con skip podemos provocar que, durante una ejecución, no se ejecute un bloque o
7+
* incluso un test dentro del mismo. Es muy útil si en algún momento tenemos
8+
* un bloque de tests o un solo test que no queremos que se ejecute por algún motivo.
9+
*/
10+
11+
describe.skip('Caso 1', () => {
12+
it ('Prueba 1', () => {
13+
expect( true ).to.equal( true );
14+
expect( true ).to.be.true;
15+
});
16+
it ('Prueba 2', () => {
17+
expect( true ).to.equal( true );
18+
expect( true ).to.be.true;
19+
});
20+
});
21+
22+
describe('Caso 2 - Sin Skip', () => {
23+
it.skip ('Inclusive Test 1 - Skip', () => {
24+
expect( true ).to.equal( true );
25+
expect( true ).to.be.true;
26+
});
27+
it ('inclusibe Test 2', () => {
28+
expect( true ).to.equal( true );
29+
expect( true ).to.be.true;
30+
});
31+
});
32+

test-templates/numbers.js

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
var expect = require('chai').expect;
2+
3+
/**
4+
* Suma de los elementos que tienen que ser números
5+
* @param {*} arr Lista de números a sumar
6+
*/
7+
function sum(arr) {
8+
let sum = 0;
9+
for (let i of arr) {
10+
sum += Number(i);
11+
}
12+
return sum;
13+
}
14+
15+
describe.only('Numbers test', () => {
16+
const numero = 2;
17+
it('Devolver resultado 0 con array vacio de números', () => {
18+
});
19+
20+
it ('El número es igual ', () => {
21+
22+
});
23+
it('El número es mayor que 0', () => {
24+
25+
})
26+
it('La suma es de tipo númerico', () => {
27+
28+
});
29+
it('No es número', () => {
30+
31+
});
32+
33+
it('Comprobar el número resultante con un elemento en el array de la suma', () => {
34+
35+
});
36+
37+
it('Comprobar el número (que está en formato string) resultante con un elemento en el array de la suma', () => {
38+
39+
});
40+
41+
it('Array numérico con números negativos', () => {
42+
43+
});
44+
45+
it('Array numérico con números negativos y strings con valor numérico', () => {
46+
47+
});
48+
49+
});

test-templates/strings.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
var expect = require('chai').expect;
2+
describe.only('Strings test', () => {
3+
const foo = 'bar';
4+
it ('Es igual al valor del string', () => {
5+
});
6+
it('Es de tipo string', () => {
7+
8+
});
9+
it('Tiene una longitud de 3 carácteres', () => {
10+
11+
});
12+
it('Encuentra / Incluye "ba" en la palabra', ()=> {
13+
14+
});
15+
it('NO incluye "fa" en la palabra', ()=> {
16+
17+
});
18+
});
19+

test/arrays.js

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
var expect = require('chai').expect;
2+
3+
describe('Arrays test', () => {
4+
const array = [1, 2, 4, 6, 8];
5+
// Una prueba
6+
it ('Los valores del array son iguales', () => {
7+
const resultado = [1, 2, 4, 6, 8];
8+
expect(String(array)).to.equal('1,2,4,6,8');
9+
expect(array).to.eql(resultado);
10+
expect(array).to.deep.equal(resultado);
11+
expect([1, 2, 3]).to.have.ordered.members([1, 2, 3]);
12+
});
13+
14+
it('Contiene el valor "2" el array', () => {
15+
expect(String(array).indexOf('2,') > -1).to.equal(true);
16+
expect(array).to.include(2);
17+
expect(array).to.be.an('array').that.includes(2);
18+
expect([1, 2]).to.include(2).not.to.include(56);
19+
20+
21+
});
22+
it('Incluye todos los números o alguno de ellos', () => {
23+
// Incluye esos números con duplicados (no tienen que estar todos)
24+
// [1, 2, 4, 6, 8]
25+
expect(array).to.include.members([1,1,1,4]);
26+
expect(array).to.include.members([1, 2, 4, 6, 8, 1, 2, 4, 6, 8]);
27+
});
28+
it('Contiene los valores independientemente del orden', () => {
29+
expect(array).to.have.members([8, 1, 2, 4, 6]);
30+
expect(array).to.have.members([8, 1, 2, 6, 4]);
31+
expect(array).to.have.members([8, 2, 1, 4, 6]);
32+
expect(array).to.have.members([8, 1, 4, 2, 6]);
33+
expect(array).to.have.members([6, 1, 4, 2, 8]);
34+
35+
});
36+
it('Tiene una longitud de 5 carácteres', () => {
37+
expect(array).to.have.lengthOf(5);
38+
expect(array.length).to.equal(5);
39+
});
40+
});

0 commit comments

Comments
 (0)