https://github.com/zeioth/pruebas-tecnicas
Pruebas de candidatura de Jose Adrian Lopez
https://github.com/zeioth/pruebas-tecnicas
Last synced: about 1 year ago
JSON representation
Pruebas de candidatura de Jose Adrian Lopez
- Host: GitHub
- URL: https://github.com/zeioth/pruebas-tecnicas
- Owner: Zeioth
- Created: 2023-10-17T22:30:41.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-24T14:54:33.000Z (about 2 years ago)
- Last Synced: 2025-03-27T13:47:16.109Z (over 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 14.2 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Pruebas técnicas
## Ejercicio 1
Prueba exploratoria y reporte de bugs.
**RESPUESTA**
[Spectre.nvim](https://github.com/nvim-pack/nvim-spectre): Bug report [#133](https://github.com/nvim-pack/nvim-spectre/issues/133) de este plugin de "buscar y reemplazar" para el editor de texto neovim.
Detecté que era posible romper la interfaz de usuario al realizar ciertas acciones, inutilizando el programa hasta ser reiniciado. Mi bug fix fué añadido al proyecto en el pull request [#138](https://github.com/nvim-pack/nvim-spectre/pull/138)
Adicionalmente, he reportado otros 489 bugs en github en diferentes proyectos open source. [Aquí](https://github.com/Zeioth/zeioth-meta) y [aquí](https://github.com/Zeioth) podeis encontrar un breve resume de algunos interesantes.
* [DEMO EN YOUTUBE](https://www.youtube.com/watch?v=od9faf7FtOI)
* SCREENSHOT

## Ejercicio 2
Automatización de una web.
* [CÓDIGO](https://github.com/Zeioth/pruebas-tecnicas/blob/main/ejercicio-2/cypress/e2e/get-first-automation-date-from-wikipedia.spec.ts)
* [DEMO EN YOUTUBE](https://www.youtube.com/watch?v=TBSHSvQwmmI)
### Como correr el proyecto (cypress)
```sh
cd ./ejercicio-2
npm install
npm start
```
## Ejercicio 3
Tratamiento de datos en APIS.
### Ejercicio 3-1
* [CÓDIGO](https://github.com/Zeioth/pruebas-tecnicas/blob/main/ejercicio-3/src/index.ts)
* OUTPUT

### Como correr el proyecto (typescript)
Puedes correr los ejercicios con
```sh
npm install
npm start
```
### Tests unitarios
Puedes correrlos con
```sh
npm test
```

## Features extra
* Los comentarios añadidos al ejecicio 3 soportan LSP docstring.

* Los errores son logueados usando el sistema de logging [pino](https://github.com/pinojs/pino), para lo cual hemos creado un servicio singleton.

* Se ha creado una acción GitHub de integración continua para requerir que `npm test` pase correctamente antes de permitir que un pull request se integre en la rama `main`. [Está disponible en acciones](https://github.com/Zeioth/pruebas-tecnicas/actions).

* Usamos Husky para que los tests corran localmente de forma automatica al hacer push. Esto no impide el push, pero informa al desarrollador en caso de regresión al publicar cambios en su rama.
```json
"husky": {
"hooks": {
"pre-push": "npm test"
}
}
```
## Troubleshooting
Los programas de este repositorio han sido testeados con las versiones `v20.12.2` de node.
Si encuentras algún problema al ejecutarlos, puedes usar el comando `nvm` para
definir tu versión de node actual.
```
nvm install v20 && nvm alias default v20 && nvm use v20
```
Por favor considera que la [API de swagger](https://petstore.swagger.io/) es pública y puede que en el momento de correr las peticiones GET de los ejercicios 3.2 y 3.3 no hayan datos disponibles en el servidor. Si esto ocurre, prueba mas tarde.