[英]why is my test receiving status 200 even though token is not provided?
I defined let token
and logged in before each implements, but in this one i simply token = ''
to make sure that client is not logged in. I am supposed to get status 401 but instead i am getting 200. Can you tell me what i am doing wrong?我在每个实现之前定义了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)
您可能需要向我们展示包含端点的路由文件夹以检查用户是否已登录,并尝试检查端点上是否需要您的 auth 中间件功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.