From 3f855ae3d1c64144ec87ffd5f56cd4d3fe05c01d Mon Sep 17 00:00:00 2001 From: Miodec Date: Wed, 25 Oct 2023 14:33:42 +0100 Subject: [PATCH] test: add test for isNameAvailable --- backend/__tests__/dal/user.spec.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/backend/__tests__/dal/user.spec.ts b/backend/__tests__/dal/user.spec.ts index f93ef174e..afb012e55 100644 --- a/backend/__tests__/dal/user.spec.ts +++ b/backend/__tests__/dal/user.spec.ts @@ -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()]