【发布时间】:2022-06-11 00:48:30
【问题描述】:
我定义了let token 并在每个实现之前登录,但在这个我只是token = '' 以确保客户端没有登录。我应该得到状态 401 但我得到了 200。你能告诉我我做错了什么?
describe('PUT /:id', () => {
let token;
let genre;
let newName;
let id;
const exec = async () => {
return await request(server)
.put('/api/genres/' + id)
.set('x-auth-token', token)
.send({ name: newName });
}
beforeEach(async () => {
genre = new Genre({ name: 'genre1' });
await genre.save();
token = new User().generateAuthToken();
id = genre._id;
newName = 'updatedName';
});
it('should return 401 if client is not logged in', async () => {
token = '';
const res = await exec();
expect(res.status).toBe(401);
});
● /api/genres › PUT /:id › should return 401 if client is not logged in
expect(received).toBe(expected) // Object.is equality
Expected: 401
Received: 200
142 | const res = await exec();
143 |
> 144 | expect(res.status).toBe(401);
| ^
145 | });
146 |
147 | it('should return 400 if genre is less than 5 characters', async () => {
at Object.toBe (tests/integration/genres.test.js:144:32)
【问题讨论】:
-
您还应该发布具有端点实现的代码,以帮助了解该端发生的情况
标签: javascript node.js express testing jestjs