{"id":21301232,"url":"https://github.com/adrianomonteiroweb/jest-project","last_synced_at":"2026-04-28T00:32:50.972Z","repository":{"id":109834227,"uuid":"516845166","full_name":"adrianomonteiroweb/jest-project","owner":"adrianomonteiroweb","description":"Projeto de testes em jest no módulo de fundamentos na Trybe.","archived":false,"fork":false,"pushed_at":"2022-07-22T18:11:50.000Z","size":75,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-14T09:02:52.312Z","etag":null,"topics":["jest","mock","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/adrianomonteiroweb.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-22T18:07:15.000Z","updated_at":"2022-07-22T18:42:06.000Z","dependencies_parsed_at":"2023-05-03T11:16:30.196Z","dependency_job_id":null,"html_url":"https://github.com/adrianomonteiroweb/jest-project","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/adrianomonteiroweb/jest-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fjest-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fjest-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fjest-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fjest-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adrianomonteiroweb","download_url":"https://codeload.github.com/adrianomonteiroweb/jest-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adrianomonteiroweb%2Fjest-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32361477,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","mock","unit-testing"],"created_at":"2024-11-21T15:44:34.176Z","updated_at":"2026-04-28T00:32:50.957Z","avatar_url":"https://github.com/adrianomonteiroweb.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto de Jest Assíncrono e Mocking!\n\nProjeto de testes em jest no módulo de fundamentos na Trybe. 🚀\n\n# Sumário\n\n- [Habilidades](#habilidades)\n- [Entregáveis](#entregáveis)\n  - [O que deverá ser desenvolvido](#o-que-deverá-ser-desenvolvido)\n  - [Desenvolvimento](#desenvolvimento)\n  - [Linter](#linter)\n- [Requisitos do projeto](#requisitos-do-projeto)\n  - [Lista de requisitos](#lista-de-requisitos)\n    - [1 - Crie testes para uma função assíncrona](#1---crie-testes-para-uma-função-assíncrona)\n    - [2 - Crie um \"Mock\" no arquivo test/mockFunctions.spec.js](#2---Crie-um-\"Mock\"-no-arquivo-test/mockFunctions.spec.js)\n    - [3 - Crie um Mock para o retorno da API](#3---Crie-um-Mock-para-o-retorno-da-API)\n    - [4 - Crie funções no arquivo test/setupTeardown.spec.js](#4---Crie-funções-no-arquivo-test/setupTeardown.spec.js)\n\n---\n\n# Habilidades\n\nNesse projeto, você será capaz de:\n\n- Escrever testes para funções assíncronas;\n- Aplicar os seus conhecimentos acerca de testes utilizando o Jest;\n- \"Mockar\" funções;\n- \"Mockar\" APIs;\n\n---\n\n# Entregáveis\n\n## O que deverá ser desenvolvido\n\nNeste projeto, você irá implementar testes utilizando o **Jest** para verificar se uma série de funções estão funcionando corretamente. Você colocará em prática todo o conteúdo que aprendeu sobre Jest assíncrono e Mocks aplicados a testes em Javascript.\n\n---\n\n## Desenvolvimento\n\nEste repositório contém a estrutura de pastas e arquivos que contém funções que deverão ser testadas por você. Após clonar o projeto e criar sua branch de trabalho, você poderá começar o desenvolvimento dos testes.\n\nLembre-se de **não modificar** os arquivos da pasta `src`, o objetivo do projeto é que você trabalhe apenas com a pasta `test`.\n\nPara testar se os requisitos estão passando, você pode executar os testes na sua máquina com o comando `npm test nome-arquivo.test`. É muito importante que você **não modifique nenhum arquivo da pasta src**. Alterá-los pode fazer com que o seu requisito não passe no avaliador automático.\n\nEm cada `describe` existe uma função `assert.fail()` para que o avalidor teste o seu código corretamente **comente** ou **retire** essa função.\n\nLembre-se também de **não modificar** os describes dos tests na pasta `test`. Alterá-los pode fazer com que o seu requisito não passe no avaliador automático.\n\n## Linter\n\nPara garantir a qualidade do código, vamos utilizar neste projeto o [ESLint](https://eslint.org/). Assim o código estará alinhado com as boas práticas de desenvolvimento, sendo mais legível e de fácil manutenção!\n\nEste projeto já vem com as dependências relacionadas ao _linter_ configuradas no arquivo `package.json`.\n\nPara poder rodar o `ESLint` no projeto basta executar o comando `npm install` dentro do projeto e depois `npm run lint`. Se a análise do `ESLint` encontrar problemas no seu código, tais problemas serão mostrados no seu terminal. Se não houver problema no seu código, nada será impresso no seu terminal.\n\nVocê pode ler mais sobre o `EsLint` e como instalá-lo [aqui](https://app.betrybe.com/course/real-life-engineer/eslint) ou também pode ir em extensions e baixar o [plugin `ESLint`](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) no `VSCode`.\n\n# Requisitos do projeto\n\n## Lista de requisitos\n\n### 1 - Crie testes para uma função assíncrona\n\nComplete os testes do arquivo `test/asyncJest.spec.js` para que funcionem com código assíncrono.\n\n### 2 - Crie um \"Mock\" no arquivo test/mockFunctions.spec.js\n\nCrie mock functions no arquivo `test/mockFunctions.spec.js` para que os testes mockados 'sobrescrevam' o código definido na pasta `src`. A idéia é que as funções criadas a partir do Jest tenham prioridade na sua execução.\n\n### 3 - Crie um Mock para o retorno da API\n\nCrie uma API mock no arquivo `test/mockApi.spec.js` para que os testes do Jest utilizem retornos de API fixos e independentes de requisições.\n\nExemplo de resposta da API randomuser.me:\n\n```js\n\n{\n  gender: 'female',\n  name: { title: 'Ms', first: 'Deborah', last: 'Hanson' },\n  location: {\n    street: { number: 1299, name: 'Rochestown Road' },\n    city: 'Birr',\n    state: 'Wicklow',\n    country: 'Ireland',\n    postcode: 16223,\n    coordinates: { latitude: '26.2451', longitude: '45.2995' },\n    timezone: {\n      offset: '+5:30',\n      description: 'Bombay, Calcutta, Madras, New Delhi'\n    }\n  },\n  email: 'deborah.hanson@example.com',\n  login: {\n    uuid: '45db2b1f-1c9a-4a80-9572-e46614f86c30',\n    username: 'bluewolf366',\n    password: 'iverson3',\n    salt: 'XKOOGc2x',\n    md5: '8cb7b4686f3869247b3ed189de780ea6',\n    sha1: 'c24641f415cf36f4494ea4007fb3d77b47a6aad5',\n    sha256: 'a7bdd079ead0adf21f30cee5b94e5581a9fa0d5fc8b3c1881dbc864dabc55a80'\n  },\n  dob: { date: '1965-10-01T06:35:49.694Z', age: 55 },\n  registered: { date: '2009-02-11T05:48:39.772Z', age: 11 },\n  phone: '021-953-7205',\n  cell: '081-160-6277',\n  id: { name: 'PPS', value: '0109675T' },\n  picture: {\n    large: 'https://randomuser.me/api/portraits/women/7.jpg',\n    medium: 'https://randomuser.me/api/portraits/med/women/7.jpg',\n    thumbnail: 'https://randomuser.me/api/portraits/thumb/women/7.jpg'\n  },\n  nat: 'IE'\n}\n\n```\n\n### 4 - Crie funções no arquivo test/setupTeardown.spec.js\n\nIntercale funções entre os testes definidos no arquivo `test/setupTeardown.spec.js`.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianomonteiroweb%2Fjest-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadrianomonteiroweb%2Fjest-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadrianomonteiroweb%2Fjest-project/lists"}