Skip to content

Commit

Permalink
test unitarios sort y correcciones slinter
Browse files Browse the repository at this point in the history
  • Loading branch information
karmina-jc committed Dec 18, 2019
1 parent 989ffef commit a1e4631
Show file tree
Hide file tree
Showing 3 changed files with 99 additions and 16 deletions.
90 changes: 80 additions & 10 deletions src/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,81 @@ export function filtradoWeakness(valor) {
return pkmWeak;
}

/* export function filterStrength(valor) {
if(valor === '')
const pkmWeak = POKEMON.filter((pkm) => (pkm.weaknesses.includes(valor)));
return pkmWeak;
} */
export function filterStrength(valor) {
if (valor === 'Grass') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Flying' || 'Fire' || 'Ice' || 'Bug' || 'Poison')));
return pkmStg;
}
if (valor === 'Poison') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Psychic' || 'Ground')));
return pkmStg;
}
if (valor === 'Fire') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Ground' || 'water' || 'Rock')));
return pkmStg;
}
if (valor === 'Ice') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Fighting' || 'Rock' || 'Steel' || 'Fire')));
return pkmStg;
}
if (valor === 'Flying') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Rock' || 'Ice' || 'Electric')));
return pkmStg;
}
if (valor === 'Psychic') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Bug' || 'Ghost' || 'Dark')));
return pkmStg;
}
if (valor === 'Water') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Grass' || 'Electric')));
return pkmStg;
}
if (valor === 'Ground') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Water' || 'Grass' || 'Ice')));
return pkmStg;
}
if (valor === 'Rock') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Water' || 'Grass' || 'Steel' || 'Fighting' || 'Ground')));
return pkmStg;
}
if (valor === 'Electric') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Ground')));
return pkmStg;
}
if (valor === 'Bug') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Flying' || 'Fire' || 'Rock')));
return pkmStg;
}
if (valor === 'Normal') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Fighting')));
return pkmStg;
}
if (valor === 'Fighting') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Flying' || 'Psychic' || 'Fairy')));
return pkmStg;
}
if (valor === 'Ghost') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Ghost' || 'Dark')));
return pkmStg;
}
if (valor === 'Dark') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Fighting' || 'Bug' || 'Fairy')));
return pkmStg;
}
if (valor === 'Steel') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Ground' || 'Fighting')));
return pkmStg;
}
if (valor === 'Dragon') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Dragon' || 'Fairy' || 'Ice')));
return pkmStg;
}
if (valor === 'Fairy') {
const pkmStg = POKEMON.filter((pkm) => (pkm.type.includes('Poison' || 'Steel')));
return pkmStg;
}
return filterStrength;
}

// sort by numero decreciente
export function sortBy(dato) {
Expand All @@ -25,18 +95,18 @@ export function sortBy(dato) {
return numOrder;
}
if (dato === 'aToZ') {
const azOrder = POKEMON.sort((a, b) => {
POKEMON.sort((a, b) => {
if (a.name < b.name) { return -1; }
if (a.name > b.name) { return 1; }
return azOrder;
return sortBy;
});
}
if (dato === 'ZtoA') {
const zaOrder = POKEMON.sort((a, b) => {
POKEMON.sort((a, b) => {
if (b.name < a.name) { return -1; }
if (b.name > a.name) { return 1; }
return zaOrder;
return sortBy;
});
}

return sortBy;
}
21 changes: 17 additions & 4 deletions src/main.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import POKEMON from './data/pokemon/pokemon.js';
import { filtradoTypo, filtradoWeakness, sortBy } from './data.js';
import {
filtradoTypo, filtradoWeakness, filterStrength, sortBy,
} from './data.js';

/* muestra los objetos */
const main = document.getElementById('all');
const overlay = document.getElementById('overlay');
const fortaleza = ['Ground', 'Rock', 'water'];

function createCard(data) {
for (let i = 0; i < data.length; i + 1) {
for (let i = 0; i < data.length; i += 1) {
const newBtn = document.createElement('button');
newBtn.setAttribute('class', 'indPkm');
newBtn.setAttribute('name', data[i].name);
Expand All @@ -32,7 +34,7 @@ function createCard(data) {
createCard(POKEMON);

function createOverCard(data) {
for (let i = 0; i < data.length; i + 1) {
for (let i = 0; i < data.length; i += 1) {
const divOne = document.createElement('div');
divOne.setAttribute('class', 'contImg');
divOne.setAttribute('id', data[i].id);
Expand Down Expand Up @@ -83,7 +85,7 @@ document.querySelectorAll('.typeOption button').forEach((elemento) => {
});
});

// Filtrado por Debilidad
// Filtrado "Debil contra"

document.querySelectorAll('.typeWeakness button').forEach((elemento) => {
elemento.addEventListener('click', () => {
Expand All @@ -94,6 +96,17 @@ document.querySelectorAll('.typeWeakness button').forEach((elemento) => {
});
});

// filtrado "Fuerte contra"

document.querySelectorAll('.typeStrength button').forEach((elemento) => {
elemento.addEventListener('click', () => {
const valor = elemento.value;
main.innerHTML = '';
const pkmStg = filterStrength(valor);
createCard(pkmStg);
});
});

// listener para las imagenes para overlay
document.querySelectorAll('#all .indPkm').forEach((elemento) => {
elemento.addEventListener('click', () => {
Expand Down
4 changes: 2 additions & 2 deletions test/data.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ describe('data-lover', () => {
sortBy('aToZ');
expect(POKEMON[4].name).toBe('Arcanine');
});
it('debería retornar "Ratata" para sortPkm[35].name con Orden de la Z a la A', () => {
it('debería retornar "Rattata" para sortPkm[35].name con Orden de la Z a la A', () => {
sortBy('ZtoA');
expect(POKEMON[35].name).toBe('Ratata');
expect(POKEMON[35].name).toBe('Rattata');
});
});
});

0 comments on commit a1e4631

Please sign in to comment.