如何使用 Jest 测试 ID 是否是有效的 MongoDB 对象 ID?
How to test whether an ID is a valid MongoDB Object ID using Jest?
我是 javascript 的新手,遇到了这个问题。在 Google 上搜索解决方案后,我意识到 Whosebug 上没有这样的问题。在我找到解决方案后,我想在这里分享它以防它对某人有帮助。
我正在构建一个待办事项列表应用程序,其中使用用户名(电子邮件)、密码和出生日期字段创建用户。我正在使用 MongoDB 来存储用户和待办事项数据。创建用户后,他们可以使用用户名和密码登录应用程序。
当用户登录时,我需要从他们的用户名中获取他们的用户 ID。我用来获取用户 ID 的路径是 - /api/user/username/:username
我正在为 TDD 使用 Jest,所以我需要先为上述情况编写测试。
测试套件中不同测试用例的规范之一是:从用户名和 return 用户 ID 中获取 MongoDB ObjectID 格式的用户 ID。
如何检查用户 ID returned 是否为 MongoDB ObjectID 格式?
要使用 Jest 检查用户 ID 是否有效 MongoDB ObjectID,可以使用
expect(ObjectID.isvalid(userID)).toBeTruthy();
一个例子如下:
it(`must get userID when username is in valid email format & available in db and return userID in mongoDB ObjectID format`, async (done) => {
const response = await request(app)
.get(`/api/user/username/${username}`)
.set({ "x-token-header": jwtToken })
.send();
const { body } = response;
expect(ObjectID.isValid(body)).toBeTruthy();
done();
});
我是 javascript 的新手,遇到了这个问题。在 Google 上搜索解决方案后,我意识到 Whosebug 上没有这样的问题。在我找到解决方案后,我想在这里分享它以防它对某人有帮助。
我正在构建一个待办事项列表应用程序,其中使用用户名(电子邮件)、密码和出生日期字段创建用户。我正在使用 MongoDB 来存储用户和待办事项数据。创建用户后,他们可以使用用户名和密码登录应用程序。
当用户登录时,我需要从他们的用户名中获取他们的用户 ID。我用来获取用户 ID 的路径是 - /api/user/username/:username
我正在为 TDD 使用 Jest,所以我需要先为上述情况编写测试。
测试套件中不同测试用例的规范之一是:从用户名和 return 用户 ID 中获取 MongoDB ObjectID 格式的用户 ID。
如何检查用户 ID returned 是否为 MongoDB ObjectID 格式?
要使用 Jest 检查用户 ID 是否有效 MongoDB ObjectID,可以使用
expect(ObjectID.isvalid(userID)).toBeTruthy();
一个例子如下:
it(`must get userID when username is in valid email format & available in db and return userID in mongoDB ObjectID format`, async (done) => {
const response = await request(app)
.get(`/api/user/username/${username}`)
.set({ "x-token-header": jwtToken })
.send();
const { body } = response;
expect(ObjectID.isValid(body)).toBeTruthy();
done();
});