fix: CreateAvailabilityInput_2024_04_15 Cannot read properties of undefined (#15885)
This commit is contained in:
1 parent
07f14e4e14
commit
dcc62c6db0
2 files changed
+42
-1
No files matched your search
+31
@@ -66,6 +66,37 @@ describe("Schedules Endpoints", () => {
|
||||
expect(user).toBeDefined();
|
||||
});
|
||||
|
||||
it("should not create an invalid schedule", async () => {
|
||||
const scheduleName = "schedule-name";
|
||||
const scheduleTimeZone = "Europe/Rome";
|
||||
const isDefault = true;
|
||||
|
||||
const body = {
|
||||
name: scheduleName,
|
||||
timeZone: scheduleTimeZone,
|
||||
isDefault,
|
||||
availabilities: [
|
||||
{
|
||||
days: ["Monday"],
|
||||
endTime: "11:15",
|
||||
startTime: "10:00",
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
return request(app.getHttpServer())
|
||||
.post("/api/v2/schedules")
|
||||
.set(CAL_API_VERSION_HEADER, VERSION_2024_04_15)
|
||||
.send(body)
|
||||
.expect(400)
|
||||
.then(async (response) => {
|
||||
expect(response.body.status).toEqual("error");
|
||||
expect(response.body.error.message).toEqual(
|
||||
"Invalid datestring format. Expected format(ISO8061): 2025-04-12T13:17:56.324Z. Received: 11:15"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
it("should create a default schedule", async () => {
|
||||
const scheduleName = "schedule-name";
|
||||
const scheduleTimeZone = "Europe/Rome";
|
||||
|
||||
+11
-1
@@ -19,8 +19,18 @@ export class CreateAvailabilityInput_2024_04_15 {
|
||||
}
|
||||
|
||||
function transformStringToDate(value: string, key: string): Date {
|
||||
// note(Lauris): incoming value is ISO8061 e.g. 2025-0412T13:17:56.324Z
|
||||
if (!value) {
|
||||
throw new BadRequestException(
|
||||
`Missing ${key}. Expected value is in ISO8061 format e.g. 2025-0412T13:17:56.324Z`
|
||||
);
|
||||
}
|
||||
|
||||
const dateTimeParts = value.split("T");
|
||||
if (dateTimeParts.length !== 2) {
|
||||
throw new BadRequestException(
|
||||
`Invalid datestring format. Expected format(ISO8061): 2025-04-12T13:17:56.324Z. Received: ${value}`
|
||||
);
|
||||
}
|
||||
|
||||
const timePart = dateTimeParts[1].split(".")[0]; // Removes milliseconds
|
||||
const parts = timePart.split(":");
|
||||
|
||||
Reference in new issue
Block a user