Тестирование конечной точки GET с использованием mocha и chai, AssertionError - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь проверить свою конечную точку GET, но получаю эту ошибку:

  Uncaught AssertionError: expected { Object (_bsontype, id) } to equal '5be02038cf97ed1cc47feb8a'

Мой тест:

  it("it should GET a user by the given id", done => {
        let newUser = new User({
            email: "bloggs@test.com",
            givenName: "Willmott",
            familyName: "Bloggs"
        });

        newUser.save((err, newUser) => {
            let { _id: id } = newUser;

            chai
                .request(app)
                .get("/users/" + id)
                .send(newUser)
                .end((err, res) => {
                    let { body: { _id } } = res;

                    expect(id).to.equal(_id);
                    done();
                });
        });
    });

Как я могу заставить expect(id).to.equal(_id); пройти?

1 Ответ

0 голосов
/ 05 ноября 2018

Похоже, что один из них - Объект (_id), а другой - строка (id). Вы, вероятно, не хотите сравнивать весь объект, а скорее какое-либо свойство объекта. Учитывая, что это выглядит как поиск в базе данных с использованием объекта bson, я думаю, вы могли бы вызвать toString() для него? По крайней мере, это может сработать, если на самом деле это MongoDB UserId :

expect(id).to.equal(_id.toString());
...