test: add test for isNameAvailable

This commit is contained in:
Miodec 2023-10-25 14:33:42 +01:00
parent a2ad6edbc7
commit 3f855ae3d1

View file

@ -113,6 +113,36 @@ describe("UserDal", () => {
).rejects.toThrow("User document already exists");
});
it("isNameAvailable should correctly check if a username is available", async () => {
// given
await UserDAL.addUser("user1", "user1@email.com", "userId1");
await UserDAL.addUser("user2", "user2@email.com", "userId2");
const testCases = [
{
name: "user1",
whosChecking: "userId1",
expected: true,
},
{
name: "USER1",
whosChecking: "userId1",
expected: true,
},
{
name: "user2",
whosChecking: "userId1",
expected: false,
},
];
// when, then
for (const { name, expected, whosChecking } of testCases) {
const isAvailable = await UserDAL.isNameAvailable(name, whosChecking);
expect(isAvailable).toBe(expected);
}
});
it("updatename should not allow unavailable usernames", async () => {
// given
const mockUsers = [...Array(3).keys()]