Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8 - suporte a api para recuperar status na listagem de exercicios #10

Closed
wants to merge 23 commits into from

Conversation

EmilyCavalcanti
Copy link

@EmilyCavalcanti EmilyCavalcanti commented Dec 10, 2024

8 - suporte a api para recuperar status na listagem de exercicios

🆙 CHANGELOG

  • Troca da rota topic/:id/item
  • Adição do elementType no response
  • Adição de testes unitários
  • Tratativa de erro nos retornos do banco de dados

⚠️ Me certifico que:

  • Não deixei nenhum novo warning, erro ou console.log nas minhas modificações
  • Fiz deploy para ambiente de teste certificando que o build não quebrou
  • Solicitei code review para 2 pessoas
  • Solicitei QA para 2 pessoas
  • Obtive aprovação de QA e posso fazer merge

⚠️ Como testar:

  • Rodar git pull na main
  • Abrir branch 8/suporte-a-api-para-recuperar-status-na-listagem-de-exercicios
  • Rodar git pull
  • Caso não tenha um banco de dados instalado, verificar o README
  • Rodar comando npx prisma migrate dev para puxar as ultimas alterações das migrations
  • Rodar comando npm run dev para inicializar a aplicação
  • Colocar no arquivo .env a chave JWT (Pedir para Wander)
  • Criar usuario na tabela User com email: teste@gmail.com, no banco de dados local
  • Crie 3 progressos com o itemID:
    rw1725638686995f335f2
    rw1726148766181e6dab5
    rw1726148767193d37419
  • E relacione os 3 ao mesmo topicId:
    rw17212367802520ba251
  • Lembre-se de adicionar o mesmo userId pra todos os progressos criados
  • Rodar comando "npx ts-node src/script/jwtGenerator.ts", para gerar token do usuario de teste
  • Abrir postman
  • Acessar a rota GET: http://localhost:5002/topic/rw17212367802520ba251/item
  • Abrir campo header do postman, no campo de key escreva "Authorization" e no campo de value escreva:
    Bearer ( aqui o token gerado para usuario de teste)
  • Enviar requisição, deve retornar um status 200 e um objeto parecido com:
[
    {
        "itemId": "rw1725638686995f335f2",
        "itemStatus": "Completed",
        "elementType": "Video"
    },
    {
        "itemId": "rw1726148766181e6dab5",
        "itemStatus": "InProgress",
        "elementType": "Exercise"
    }
]

  • Rodar os testes utilizando o comando: npm test
  • Analisar casos de erro ex: token invalido, não passar o token, passar um topicId que não existe no banco, seja criativa nos testes :) .
  • Aplicação não deve conter nenhum erro, warning ou console.log
  • Alteração proposta no card foi implementada

stephanybrazeir0 and others added 23 commits October 3, 2024 15:38
…Criamos verificações de erros no controller e retiramos o valor Unique da variável itemStatus do model Progress. @Wander06 e @camsste
… responsabilidade de verificacao de token e ajustando logica de respostas da controller - @Wander06 @pollianasilva
…rollers/AllExercisesController.ts): criamos rota pra pegar todos os status dos exercicios de um topico especifico / mudamos o schema do banco pra suportar topicId na tabela progresso / mudamos o relacionamento da tabela User e Progress) @mylenaverspeelt @stephanybrazeir0
…/AllExercisesStatusService.ts src/routes/index.ts): arrumando nome das classes e variaveis @mylenaverspeelt @stephanybrazeir0
…rvice.ts src/routes/index.ts) excluimos o controller e service para adicionar no ja existente. mudamos a logica do findprogress e updatedprogress devido o schema esta diferente @mylenaverspeelt @stephanybrazeir0
…ar-status-na-listagem-de-exercicios

8/suporte a api para recuperar status na listagem de exercicios
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants