frontendbr / eventos-api

Uma API para gerenciar os eventos de Frontend
https://frontendbreventosapi-eventosapi.wedeploy.io/api/docs/
MIT License
102 stars 15 forks source link

Revisando as dependências do projeto #57

Closed klauskpm closed 6 years ago

klauskpm commented 6 years ago

Issue #56

Com o comando npm audit --fix foram corrigidas mais de 200 vulnerabilidades, e atualizei cuidadosamente alguns pacotes (mocha, chai, chai-http, nyc, coverals) que tinham breaking changes, mas, sobraram dois pacotes e algumas correções manuais.

screen shot 2018-10-04 at 22 59 10

Os pacotes que precisam ser atualizados são: npm install --save-dev eslint@5.6.1 (3 low) npm install express-validation@1.0.2 (2 moderate, 2 low)

Não atualizei o eslint, pois também precisei atualizar o standard, e com isso gerou erro na hora de executar o npm run eslint. Não atualizei o express-validation porque não consigo fazer o projeto rodar. Não teria como garantir se está tudo correto.

sourcelevel-bot[bot] commented 6 years ago

Hello, @klauskpm! This is your first Pull Request that will be reviewed by Ebert, an automatic Code Review service. It will leave comments on this diff with potential issues and style violations found in the code as you push new commits. You can also see all the issues found on this Pull Request on its review page. Please check our documentation for more information.

coveralls commented 6 years ago

Coverage Status

Coverage remained the same at 88.38% when pulling 5a0443373a30d608de3692dc146377470d01b8e6 on klauskpm:audit into 9545d424b469942e1bb03d6e774e7814eaa7c203 on frontendbr:master.

angeliski commented 6 years ago

Nossa, maravilhoso @klauskpm ! Você pode realizar as duas atualizações restantes? No caso do eslint, se você executar o comando npm run eslint:fix o problema deveria ser resolvido, se não funcionar você pode comitar que eu verifico o problema.

Quanto a rodar o projeto, você teve alguma dificuldade? Algum erro? Se você puder esclarecer podemos tentar melhorar o README ou outras configurações.

Quando você atualizar o express-validation os testes deveriam pegar qualquer possível erro, mas fique tranquilo que eu rodo um teste local para verificar se o funcionamento se mantém.

No mais, muito obrigado pelo trabalho!

klauskpm commented 6 years ago

Sem problemas @angeliski!

O erro do eslint foi tanto do padrão, quanto um erro estourando pela execução. Por isso voltei a atualização dele, mas, posso investigar mais. Também vou fazer a atualização do express-validation e rodar os testes. Devo fazer isso mais tarde.

Vi que tem uma issue de README. Posso colocar lá os passos que tomei pra tentar rodar o projeto e os erros que tem acontecido.

angeliski commented 6 years ago

Seria de muita ajuda se vc pudesse colocar os comentários na issue #25 Assim a gente pode melhorar o readme já

klauskpm commented 6 years ago

Os pacotes foram atualizados e os erros foram corrigidos!

angeliski commented 6 years ago

Valeu @klauskpm ! Eu só devo conseguir testar amanhã, mas valeu pela força!

angeliski commented 6 years ago

Eu testei aqui e ficou show @klauskpm !

Será que você pode só adicionar um teste para cobrir a validação (caso seja necessário atualizar de novo)?

it('should return error when not have title', (done) => {
      const event = {
        'shortDescription': 'Descrição marota',
        'status': 'pending',
        'link': 'https://braziljs.org/conf/',
        'price': 1.5,
        'image': 'https://braziljs.org/wp-content/themes/braziljs/assets/img/logos/braziljs-00508dcfc4.svg',
        '__v': 0,
        'location': {
          'city': 'Fortaleza',
          'state': 'CE',
          'address': 'Faculdade Sete de Setembro',
          'locationUrl': 'https://www.google.com.br/maps'
        },
        'date': {
          'day': 1,
          'month': 'Setembro',
          'year': 2017
        }
      }

      const erroBody = {
        'status': false,
        'data': {
          'errors': {
            'title': {
              'message': 'Path `title` is required.',
              'name': 'ValidatorError',
              'properties': {
                'type': 'required',
                'message': 'Path `{PATH}` is required.',
                'path': 'title'
              },
              'kind': 'required',
              'path': 'title',
              '$isValidatorError': true
            }
          },
          '_message': 'Event validation failed',
          'message': 'Event validation failed: title: Path `title` is required.',
          'name': 'ValidationError'
        }
      }

      request.post('/')
        .send(event)
        .set('authorization', `Bearer ${token}`)
        .expect('Content-Type', /json/)
        .expect(500, erroBody)
        .end(TestUtil.endTest.bind(null, done))
    })
  })

Você pode adicionar ele no event.integration.spec.js, depois do teste should return error when not have price

klauskpm commented 6 years ago

Com toda certeza!

klauskpm commented 6 years ago

Mal a demora @angeliski, mas está feito!

angeliski commented 6 years ago

Tá na master! Valeu pela contribuição cara!