guidpo0 / jest

Neste projeto, foram implementados testes utilizando o Jest para verificar se uma série de funções estão funcionando corretamente.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Informações Gerais

Projeto desenvolvido durante formação em desenvolvedor Web Full Stack pela Trybe.


Boas vindas ao repositório do projeto de Jest Assíncrono e Mocking!

Neste projeto, foram implementados testes utilizando o Jest para verificar se uma série de funções estão funcionando corretamente. Foi colocado em prática todo o conteúdo aprendido sobre Jest assíncrono e Mocks aplicados a testes em Javascript.

Lembrando que esta aplicação corresponde aos meus esforços para melhorar minhas hard skills e soft skills, sinta-se à vontade para explorá-la! Feedbacks construtivos são sempre bem vindos!

Abaixo você poderá encontrar mais informações técnicas sobre este projeto.


SUMÁRIO


Habilidades

Nesse projeto, fui capaz de:

  • Escrever testes para funções assíncronas;
  • Aplicar os seus conhecimentos acerca de testes utilizando o Jest;
  • "Mockar" funções;
  • "Mockar" APIs;

Instruções para fazer o fork do repositório

  1. Faça o fork do repositório

  2. Instale as dependências do projeto

  • Instale as dependências:
    • npm install

Informações do projeto

Linter

Para garantir a qualidade do código de forma a tê-lo mais legível, de mais fácil manutenção e seguindo as boas práticas de desenvolvimento foi utilizado neste projeto o linter ESLint.


Desafios

1 - Crie testes para uma função assíncrona

Complete os testes do arquivo test/asyncJest.spec.js para que funcionem com código assíncrono.

2 - Crie um "Mock" no arquivo test/mockFunctions.spec.js

Crie 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.

3 - Crie um Mock para o retorno da API

Crie 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.

Exemplo de resposta da API randomuser.me:

{
  gender: 'female',
  name: { title: 'Ms', first: 'Deborah', last: 'Hanson' },
  location: {
    street: { number: 1299, name: 'Rochestown Road' },
    city: 'Birr',
    state: 'Wicklow',
    country: 'Ireland',
    postcode: 16223,
    coordinates: { latitude: '26.2451', longitude: '45.2995' },
    timezone: {
      offset: '+5:30',
      description: 'Bombay, Calcutta, Madras, New Delhi'
    }
  },
  email: 'deborah.hanson@example.com',
  login: {
    uuid: '45db2b1f-1c9a-4a80-9572-e46614f86c30',
    username: 'bluewolf366',
    password: 'iverson3',
    salt: 'XKOOGc2x',
    md5: '8cb7b4686f3869247b3ed189de780ea6',
    sha1: 'c24641f415cf36f4494ea4007fb3d77b47a6aad5',
    sha256: 'a7bdd079ead0adf21f30cee5b94e5581a9fa0d5fc8b3c1881dbc864dabc55a80'
  },
  dob: { date: '1965-10-01T06:35:49.694Z', age: 55 },
  registered: { date: '2009-02-11T05:48:39.772Z', age: 11 },
  phone: '021-953-7205',
  cell: '081-160-6277',
  id: { name: 'PPS', value: '0109675T' },
  picture: {
    large: 'https://randomuser.me/api/portraits/women/7.jpg',
    medium: 'https://randomuser.me/api/portraits/med/women/7.jpg',
    thumbnail: 'https://randomuser.me/api/portraits/thumb/women/7.jpg'
  },
  nat: 'IE'
}

4 - Crie funções no arquivo test/setupTeardown.spec.js

Intercale funções entre os testes definidos no arquivo test/setupTeardown.spec.js.


About

Neste projeto, foram implementados testes utilizando o Jest para verificar se uma série de funções estão funcionando corretamente.


Languages

Language:JavaScript 100.0%