Skip to content

duwejeferson/semana-javascript-expert06

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spotify Radio - Semana JS Expert 6.0

Seja bem vindo(a) à sexta Semana Javascript Expert. Este é o código inicial para iniciar nossa jornada.

Marque esse projeto com uma estrela 🌟

Acesse a comunidade exclusiva no discord para tirar suas dúvidas e conhecer pessoas:

Preview

Checklist Features

  • Web API

    • Deve atingir 100% de cobertura de código em testes
    • Deve ter testes end to end validando todas as rotas da API
    • Deve entregar arquivos estáticos como Node.js Stream
    • Deve entregar arquivos de música como Node.js Stream
    • Dado um usuário desconectado, não deve quebrar a API
    • Mesmo que vários comandos sejam disparados ao mesmo tempo, não deve quebrar a API
    • Caso aconteça um erro inesperado, a API deve continuar funcionando
    • O projeto precisa ser executado em ambientes Linux, Mac e Windows
  • Web App

    • Client
      • Deve reproduzir a transmissão
      • Não deve pausar se algum efeito for adicionado
    • Controller
      • Deve atingir 100% de cobertura de código em testes
      • Deve poder iniciar ou parar uma transmissão
      • Deve enviar comandos para adicionar audio efeitos à uma transmissão

Tarefas por aula

  • Aula 01: Cobrir as camadas service e route com testes unitários e alcançar 100% de code coverage
  • Aula 02: Manter 100% de code coverage e implementar testes e2e para toda a API
  • Aula 03: implementar testes unitários para o frontend e manter 100% de code coverage
  • PLUS:
    • disponibilizar um novo efeito
      • adicionar um botão novo no controlador
      • adicionar um som de efeito novo para a pasta audios/fx/
      • republicar no heroku

Código fonte das aulas e resolução de desafios

Considerações

  • Tire suas dúvidas sobre os desafios em nossa comunidade, o objetivo é você aprender de forma divertida. Surgiu dúvidas? Pergunte por lá!

  • Ao completar qualquer um dos desafios, envie no canal #desafios da comunidade no Discord

Créditos aos áudios usados

Transmissão

Efeitos

FAQ

  • NODE_OPTIONS não é um comando reconhecido pelo sistema, o que fazer?

    • Se você estiver no Windows, a forma de criar variáveis de ambiente é diferente. Você deve usar a palavra set antes do comando.
    • Ex: "test": "set NODE_OPTIONS=--experimental-vm-modules && npx jest --runInBand",
  • Rodei npm test mas nada acontece, o que fazer?

    • Verifique a versão do seu Node.js. Estamos usando na versão 17. Entre no site do node.js e baixe a versão mais recente.
  • jest.spyOn - quando tentamos usar o function.name (algo como stream.pipe.name), ele diz que a instancia é undefined

    • Neste caso, use o valor como string: jest.spyOn(stream, "pipe").mockReturnValue
  • Desafio 01 impossível de completar 100% de code coverage pois o testUtil.js não está sendo completamente usado

    • Adicione na primeira linha do arquivo testUtil.js o seguinte trecho de código: /* istanbul ignore file */ . Isso fará com que o jest ignore esse arquivo e complete os 100%.
    • Importante: essa alteração, servirá apenas para completar esse primeiro e/ou segundo desafio, na ultima aula, não vamos precisar ignorar esse arquivo uma vez que vamos usar todas as funções

About

Todas as aulas da Semana JS Expert 6.0 - Spotify Radio

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Dockerfile 0.4%