API REST em Node.JS aplicando testes (TDD) desde o princípio
4.5 (49 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
270 students enrolled

API REST em Node.JS aplicando testes (TDD) desde o princípio

Utilize o TDD para desenvolver um gerenciador financeiro com a segurança dos testes automatizados sempre a seu lado
4.5 (49 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
270 students enrolled
Last updated 12/2018
Portuguese
Current price: $9.99 Original price: $79.99 Discount: 88% off
30-Day Money-Back Guarantee
This course includes
  • 15.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Evoluir a aplicação com a segurança dos testes
  • Desenvolver uma API Rest utilizando NodeJS

  • Criar testes para API Rest utilizando o Jest

  • Autenticação e geração de Token JWT
  • Criar banco de dados através do knex
  • Trabalhar com migração de tabelas
  • Diversas estratégias de roteamento do express
  • Estratégias para gerenciamento de massa de dados
  • Gerenciar logs na aplicação
Course content
Expand all 90 lectures 15:17:13
+ Ambiente e produtividade com VSCode
13 lectures 01:58:20
Instalando o NodeJS
05:09
Instalando o VSCode
01:57
Executando o Node
07:45
Themes
08:06
Fonts
05:11
Emmet
14:27
Atalhos
16:05
Snippets
09:00
Bracket Pair Colorizer
05:06
vscode-icons
01:41
gitlens
09:19
TODO Tree
07:57
Lint
26:37
+ /users
13 lectures 01:44:20
Deve listar os usuários
06:46
Deve inserir usuário com sucesso
09:28
Devo organizar os arquivos
06:27
Devo criar arquivo de rotas
07:58
Devo instalar o postgres
05:02
Devo criar estrutura da tabela de usuários
12:11
Devo refatorar para usar banco de dados
17:32
Devo logar consultas
09:24
Devo separar camada de serviço
04:30
Não deve inserir usuário sem nome
06:58
Não deve inserir usuário sem email
03:43
Não deve inserir usuário sem senha
05:47
Não deve inserir usuário com email já existente
08:34
+ /accounts
10 lectures 01:44:29
Devo criar estrutura da tabela de contas
06:39
Deve inserir uma conta com sucesso
16:54
Deve listar todas as contas
08:32
Deve retornar uma conta por ID
16:33
Deve alterar uma conta
08:11
Deve remover uma conta
06:05
Não deve inserir uma conta sem nome
10:50
Devo gerenciar os erros
08:20
Devo entender os middlewares do express
14:37
Devo gerenciar os erros de uma forma genérica
07:48
+ /auth
6 lectures 01:03:56
Deve armazenar senha criptografada
14:50
Deve receber token ao logar
14:36
Não deve autenticar usuário com senha errada
06:36
Não deve acessar uma rota protegida sem token
14:41
Deve criar usuário via signup
05:51
Deve enviar token nos testes
07:22
+ /accounts #2
5 lectures 01:03:54
Devo desacoplar o meu roteamento
24:10
Deve listar apenas as contas do usuário
17:20
Não deve inserir uma conta com nome duplicado, para o mesmo usuário
06:17
Não deve retornar uma conta de outro usuário
06:28
Não deve alterar ou remover a conta de outro usuário
09:39
+ /transactions
13 lectures 01:57:44
Devo criar esturtura da tabela de transações
05:29
Deve listar apenas as transações do usuário
25:37
Devo criar snippets customizados
12:25
Deve inserir uma transação com sucesso
05:22
Deve retornar uma transação por ID
10:25
Deve alterar uma transação
04:47
Deve remover uma transação
03:00
Não deve manipular transação de outro usuário
06:09
Deve ajustar o sinal das transações
05:44
Deve validar inserção da transação
06:41
Devo aprender a reusar código
12:53
Não deve remover uma conta com transação
06:21
Devo analisar desempenho dos testes
12:51
+ /transfers
12 lectures 02:19:15
Devo criar estrutura da tabela de transferências
14:12
Devo configurar a massa externa
21:15
Deve listar apenas as transferências do usuário
19:24
Deve inserir uma transferência com sucesso
17:07
Ao salvar uma transferência válida...
11:27
Ao tentar salvar uma transferência inválida...
18:29
Devo retornar uma transferência por ID
04:05
Ao alterar uma transferência válida...
08:27
Ao tentar alterar uma transferência inválida...
03:58
Devo fazer a validação via middleware
04:30
Ao remover uma transferência...
11:47
Não deve permitir manipular recursos de outros usuários
04:34
+ /balance
4 lectures 01:08:52
Devo preparar a massa do saldo
05:33
Ao calcular o saldo do usuário...
29:43
Deve calcular o saldo
17:28
Devo resolver problemas
16:08
Requirements
  • Conhecer o básico de Javascript
Description

Seja bem vindo(a) ao curso API Rest em NodeJS aplicando testes (TDD) desde o início.

Nesse curso vamos, inicialmente, aprender a montar o nosso ambiente de desenvolvimento, configurar o VSCode, e trabalhar com o lint para garantir a padronização dos nossos códigos. Em seguida, apresentarei o básico do Jest para criarmos os nossos testes... a partir daí vamos criar um teste e desenvolver a nossa aplicação até o teste passar. E assim será ao longo do curso, um teste de cada vez, uma funcionalidade de cada vez, evoluindo sempre com segurança, pois configuraremos nossos testes de tal forma que toda a API será testada sempre que você salvar algum arquivo. Caso algo deixe de funcionar, com um simples Ctrl+Z será possível retornar à normalidade de antes.

Durante o curso, iremos criar a API de um gerenciador financeiro onde, no lado dos testes, apresentarei diversos recursos do Jest para fazer assertivas e estruturar nossos testes. Já no lado do desenvolvimento, trabalharemos com várias bibliotecas famosas como o Express para criar o nosso servidor, o Passport e JWT para autenticação, Knex e Postgres para migração e consultas ao banco de dados, além de outras.

Importante ressaltar que os testes não serão a nível unitário, faremos todas as verificações diretamente nos serviços. O que fará o teste mais real, pois o fluxo passará desde a chamada da URL, passando pelo roteamento, regras de negócio e banco de dados. Porém trará dificuldades extras como a necessidade de possuir o ambiente sempre atualizado e a necessidade de gerenciar a massa de dados necessários para os testes, isso também será abordado no curso.

Abraços e nos vemos na próxima aula, até lá!

Who this course is for:
  • Desenvolvedores interessados em aplicar TDD no desenvolvimento de uma API Rest
  • Desenvolvedores cansados de ter erros em pontos da aplicação que estavam funcionando anteriormente
  • Testadores interessados em aprender mais sobre desenvolvimento de APIs