{"id":18029856,"url":"https://github.com/zeioth/pruebas-tecnicas","last_synced_at":"2025-04-04T21:14:00.149Z","repository":{"id":200865381,"uuid":"706409693","full_name":"Zeioth/pruebas-tecnicas","owner":"Zeioth","description":"Pruebas de candidatura de Jose Adrian Lopez","archived":false,"fork":false,"pushed_at":"2024-04-24T14:54:33.000Z","size":14883,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T13:47:16.109Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Zeioth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-17T22:30:41.000Z","updated_at":"2024-04-24T14:54:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"37036fc8-7eac-454a-8c48-6eafdbee521b","html_url":"https://github.com/Zeioth/pruebas-tecnicas","commit_stats":null,"previous_names":["zeioth/pruebas-tecnicas"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeioth%2Fpruebas-tecnicas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeioth%2Fpruebas-tecnicas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeioth%2Fpruebas-tecnicas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Zeioth%2Fpruebas-tecnicas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Zeioth","download_url":"https://codeload.github.com/Zeioth/pruebas-tecnicas/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247249549,"owners_count":20908212,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T09:11:47.142Z","updated_at":"2025-04-04T21:14:00.130Z","avatar_url":"https://github.com/Zeioth.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pruebas técnicas\n\n## Ejercicio 1\nPrueba exploratoria y reporte de bugs.\n\n**RESPUESTA**\n\n[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. \n\nDetecté 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)\n\nAdicionalmente, 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.\n\n* [DEMO EN YOUTUBE](https://www.youtube.com/watch?v=od9faf7FtOI)\n* SCREENSHOT\n\n![screenshot_2023-10-18_00-29-23_557364307](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/707530bb-f517-4667-a01d-b91b386fbec2)\n\n## Ejercicio 2\nAutomatización de una web.\n\n* [CÓDIGO](https://github.com/Zeioth/pruebas-tecnicas/blob/main/ejercicio-2/cypress/e2e/get-first-automation-date-from-wikipedia.spec.ts)\n* [DEMO EN YOUTUBE](https://www.youtube.com/watch?v=TBSHSvQwmmI)\n\n### Como correr el proyecto (cypress)\n\n```sh\ncd ./ejercicio-2\nnpm install\nnpm start\n```\n\n## Ejercicio 3\nTratamiento de datos en APIS.\n\n### Ejercicio 3-1\n* [CÓDIGO](https://github.com/Zeioth/pruebas-tecnicas/blob/main/ejercicio-3/src/index.ts)\n* OUTPUT\n![screenshot_2024-04-15_01-04-02_255059767](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/307d5af7-1aa0-45cf-ade6-bd21bb42b1a0)\n\n\n### Como correr el proyecto  (typescript)\nPuedes correr los ejercicios con\n\n```sh\nnpm install\nnpm start\n```\n\n### Tests unitarios\nPuedes correrlos con\n\n```sh\nnpm test\n```\n![screenshot_2024-04-22_00-19-18_145755698](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/01640770-78c9-49f7-ba05-dcaf7f75631f)\n\n## Features extra\n* Los comentarios añadidos al ejecicio 3 soportan LSP docstring.\n\n![screenshot_2023-10-18_00-11-34_742000737](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/07fe4dcf-bda1-4925-a3ea-58c55a228743)\n\n* Los errores son logueados usando el sistema de logging [pino](https://github.com/pinojs/pino), para lo cual hemos creado un servicio singleton.\n\n![screenshot_2024-04-18_01-43-12_935941307](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/1eca364f-88ea-4266-a206-0eea30f59cb0)\n\n* 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).\n![screenshot_2024-04-18_00-39-23_494334458](https://github.com/Zeioth/pruebas-tecnicas/assets/3357792/8dadfd4e-1492-4518-9074-677868c325fd)\n\n* 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.\n```json\n\"husky\": {\n  \"hooks\": {\n    \"pre-push\": \"npm test\"\n  }\n}\n```\n\n\n## Troubleshooting\nLos programas de este repositorio han sido testeados con las versiones `v20.12.2` de node.\nSi encuentras algún problema al ejecutarlos, puedes usar el comando `nvm` para\ndefinir tu versión de node actual.\n\n```\nnvm install v20 \u0026\u0026 nvm alias default v20 \u0026\u0026 nvm use v20\n```\nPor 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeioth%2Fpruebas-tecnicas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzeioth%2Fpruebas-tecnicas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzeioth%2Fpruebas-tecnicas/lists"}