diff --git a/server/validators/date/unique_employee_schedule.spec.ts b/server/validators/date/unique_employee_schedule.spec.ts index de3104f86..73472b9d2 100644 --- a/server/validators/date/unique_employee_schedule.spec.ts +++ b/server/validators/date/unique_employee_schedule.spec.ts @@ -24,18 +24,57 @@ describe("Validator: unique employee schedule", () => { .insertOne() const value = Promise.resolve(makeInitialState({ "dayName": schedule.dayName, - "scheduleStart": schedule.scheduleStart, - "scheduleEnd": schedule.scheduleEnd + "scheduleEnd": schedule.scheduleEnd, + "scheduleStart": schedule.scheduleStart })) const constraints = { + "field": "hello", "request": {} as Request, "source": { "user": { "id": user.id } }, + "uniqueEmployeeSchedule": { + "userIDPointer": "user.id" + } + } + + const sanitizeValue = (await uniqueEmployeeSchedule(value, constraints)).value + + expect(sanitizeValue).toStrictEqual({ + "dayName": schedule.dayName, + "scheduleEnd": schedule.scheduleEnd, + "scheduleStart": schedule.scheduleStart + }) + }) + + it("can accept same value if employee schedule is the same", async() => { + const user = await new UserFactory().insertOne() + const schedule = await new EmployeeScheduleFactory() + .user(() => Promise.resolve(user)) + .dayName(() => "tuesday") + .scheduleStart(() => convertTimeToMinutes("13:00")) + .scheduleEnd(() => convertTimeToMinutes("15:00")) + .insertOne() + const value = Promise.resolve(makeInitialState({ + "dayName": schedule.dayName, + "scheduleEnd": schedule.scheduleEnd, + "scheduleStart": schedule.scheduleStart + })) + const constraints = { "field": "hello", + "request": {} as Request, + "source": { + "employeeScheduleIDPointer": { + "id": schedule.id + }, + "user": { + "id": user.id + } + }, "uniqueEmployeeSchedule": { + "employeeScheduleIDPointer": "employeeSchedule.id", "userIDPointer": "user.id" } } @@ -44,8 +83,8 @@ describe("Validator: unique employee schedule", () => { expect(sanitizeValue).toStrictEqual({ "dayName": schedule.dayName, - "scheduleStart": schedule.scheduleStart, - "scheduleEnd": schedule.scheduleEnd + "scheduleEnd": schedule.scheduleEnd, + "scheduleStart": schedule.scheduleStart }) }) @@ -65,17 +104,17 @@ describe("Validator: unique employee schedule", () => { .insertOne() const value = Promise.resolve(makeInitialState({ "dayName": schedule.dayName, - "scheduleStart": schedule.scheduleStart, - "scheduleEnd": schedule.scheduleEnd + "scheduleEnd": schedule.scheduleEnd, + "scheduleStart": schedule.scheduleStart })) const constraints = { + "field": "hello", "request": {} as Request, "source": { "user": { "id": user.id } }, - "field": "hello", "uniqueEmployeeSchedule": { "userIDPointer": "user.id" }