我定义了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)
您可能需要向我们展示包含端点的路由文件夹,以检查用户是否登录,并尝试检查您的端点上是否需要授权中间件功能。