{"id":16931655,"url":"https://github.com/romelperez/jest-workshop","last_synced_at":"2025-07-21T17:31:53.094Z","repository":{"id":72307844,"uuid":"145231193","full_name":"romelperez/jest-workshop","owner":"romelperez","description":"Taller de introducción a Testing en JavaScript con la librería Jest","archived":false,"fork":false,"pushed_at":"2018-09-01T04:14:56.000Z","size":530,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T18:44:04.841Z","etag":null,"topics":["jest","tdd","testing"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/romelperez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-08-18T15:28:30.000Z","updated_at":"2023-03-08T03:12:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"82459e97-e1a1-4a97-91ca-81073942833d","html_url":"https://github.com/romelperez/jest-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/romelperez/jest-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romelperez%2Fjest-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romelperez%2Fjest-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romelperez%2Fjest-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romelperez%2Fjest-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/romelperez","download_url":"https://codeload.github.com/romelperez/jest-workshop/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/romelperez%2Fjest-workshop/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266342809,"owners_count":23914262,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["jest","tdd","testing"],"created_at":"2024-10-13T20:44:27.680Z","updated_at":"2025-07-21T17:31:53.068Z","avatar_url":"https://github.com/romelperez.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jest Workshop\n\n[![prhone](https://img.shields.io/badge/romelperez-project-031212.svg)](http://romelperez.com)\n[![jest](https://img.shields.io/badge/tests-jest-99424f.svg?style=flat-square)](https://jestjs.io)\n[![license](https://img.shields.io/github/license/romelperez/jest-workshop.svg?maxAge=2592000)](./LICENSE)\n\nTaller básico de introducción a testing de aplicaciones web basadas en JavaScript\ncon [la librería Jest](https://jestjs.io). El recorrido está enfocado en unit\ntesting usando la metodología [Test-Driven Development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development)\nen [Node.js](https://nodejs.org).\n\nApoyado en la charla [**Testing en JavaScript con Jest**](https://romelperez.com/talks/testing-javascript-jest).\n\n## Taller\n\nEl taller consiste en arreglar un sistema animado autocontrolado de aterrizaje\nde un avión en vuelo.\n\nUn elemento que representa un avión debe tener un sistema automático de aterrizaje\nque tomará acción cuando se entre en la zona de aterrizaje. Se desacelerará hasta\nllegar a velocidad 0 y debe descender hasta tocar suelo.\n\nSe considera que ha llegado a la zona de aterrizaje si la distancia desde el avión\nal inicio de la zona de aterrizaje es mayor o igual a 0.\n\nEl sistema autocontrolado o piloto, tendrá definido cuánto puede acelerar o\ndesacelerar y cuánto puede inclinarse hacia arriba o abajo cuando pueda tomar\nacción de aterrizaje.\n\nSi alguna de las siguientes condiciones se cumple, el avión explotará:\n\n- Está volando por encima de 300 pixeles.\n- Toca el suelo por debajo de 10 pixeles.\n- Su velocidad es muy baja cuando está en el aire.\n- Se queda sin combustible.\n- Accelera a más de 100 px/s2.\n- Va a más de 300 px/s en el suelo.\n\nEl objetivo es aterrizar el avión y que se encuentre a velocidad ~0 px/s,\naceleración 0 px/s2, una altura muy cercana a 0, una velocidad muy cercana a 0,\ncon combustible, dentro de la zona de aterrizaje.\n\n![ScreenShot](screenshot.jpg)\n\n## Cómo usarlo?\n\n### Clonar\n\n```bash\n$ git clone https://github.com/romelperez/jest-workshop.git\n$ cd jest-workshop\n```\n\n### Instalar\n\n```bash\n$ npm install\n```\n\n### Ejecutar\n\n```bash\n$ npm run start\n```\n\n### Testear\n\n```bash\n# check linting errors\n$ npm run lint\n\n# run tests only once\n$ npm run test\n\n# run tests with watcher\n$ npm run test-dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromelperez%2Fjest-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromelperez%2Fjest-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromelperez%2Fjest-workshop/lists"}