Sobre o repositório da API

Bom dia,

Peguei o código da API em https://github.com/caio-ribeiropereira/
ntask-api, troquei a base para postgres, e rodei os testes.

Tenho duas dúvidas:

  1. Os dados da tabela Tasks não tem o user_id; não deveria ter?

  2. Um teste está falhando, que é o da rota “/token” para o método POST. Segue o erro:

        1) Routes: Token POST /token status 200 returns authenticated user token:
    
        Uncaught AssertionError: expected {} to contain key 'token'
       + expected - actual
    

    -[]
    +[

    • “token”
      +]

Ajuda por favor!!
Muito grato!

1 curtida

É preciso fazer uma pequena alteração na forma como o done é chamado no final do beforeEach:

ORIGINAL:

beforeEach(done => {
  Users
    .destroy({where: {}})
    .then(() => Users.create({
      name: "John",
      email: "john@mail.net",
      password: "12345"
    }))
    .then(done());
});

ALTERADO:

beforeEach(done => {
  Users
    .destroy({where: {}})
    .then(() => Users.create({
      name: "John",
      email: "john@mail.net",
      password: "12345"
    }))
    .then(() => {
      done();
    });
});

Encontrou a solução ?

Boa tarde, estou com o mesmo erro:
Uncaught AssertionError: expected {} to contain key 'token' + expected - actual

Mesmo fazendo a alteração acima, continuo com o erro, alguém pode me ajudar?

describe("Routes: Token", () => {
  const Users = app.db.models.Users;
beforeEach(done => {
  Users
    .destroy({where: {}})
    .then(() => Users.create({
      name: "Jhow",
      email: "jhow@email.net",
      password: "12345"
    }))
    .then(() => {
      done();
    });
  });
});
  describe("status 200", () => {
    it("Retorna o token do usuário autenticado", done => {
      request.post("/token")
        .send({
          email: "jhow@email.net",
          password: "12345"
        })
        .expect(200)
        .end((err, res) => {
            expect(res.body).to.include.keys("token");
            done(err);
        });
    });
  });
  describe("status 201", () => {
    it("Sua senha está incorreta", done => {
      request.post("/token")
        .send({
          email: "jhow@email.net",
          password: "SENHA_ERRADA"
        })
        .expect(401)
        .end((err, res) => {
          done(err);
        });
    });
    it("Seu email não existe", done => {
      request.post("/token")
        .send({
          email: "EMAIL_ERRADO",
          password: "SENHA_ERRADA"
        })
        .expect(401)
        .end((err, res) => {
          done(err);
        });
    });
    it("O email e senha está branco", done => {
      request.post("/token")
        .expect(401)
        .end((err, res) => {
          done(err);
        });
    });
  });

Preciso de ajuda galera, quando tento gerar o token, recebo aviso de não autorizado. Como na foto, mas não gera nenhum erro no console, mesmo colocando os email e senha no Body do Postman.