devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
147 lines (146 loc) • 7.19 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/view_model/common/is_appointment_matched_intervals.test.js)
* Version: 25.2.7
* Build date: Tue May 05 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var _globals = require("@jest/globals");
var _is_appointment_matched_intervals = require("./is_appointment_matched_intervals");
const viewIntervals = [{
min: Date.UTC(2e3, 0, 10),
max: Date.UTC(2e3, 0, 16)
}];
const timeIntervals = [{
min: Date.UTC(2e3, 0, 10, 3, 30),
max: Date.UTC(2e3, 0, 10, 10, 30)
}, {
min: Date.UTC(2e3, 0, 11, 3, 30),
max: Date.UTC(2e3, 0, 11, 10, 30)
}, {
min: Date.UTC(2e3, 0, 12, 3, 30),
max: Date.UTC(2e3, 0, 12, 10, 30)
}, {
min: Date.UTC(2e3, 0, 13, 3, 30),
max: Date.UTC(2e3, 0, 13, 10, 30)
}, {
min: Date.UTC(2e3, 0, 14, 3, 30),
max: Date.UTC(2e3, 0, 14, 10, 30)
}, {
min: Date.UTC(2e3, 0, 15, 3, 30),
max: Date.UTC(2e3, 0, 15, 10, 30)
}];
(0, _globals.describe)("isAppointmentMatchedIntervals", () => {
(0, _globals.it)("should compare zero-duration appointment on start of the time interval", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: timeIntervals[1].min,
endDate: timeIntervals[1].min
}, timeIntervals)).toBe(true)
});
(0, _globals.it)("should compare zero-duration appointment on start of the view interval", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: viewIntervals[0].min,
endDate: viewIntervals[0].min
}, viewIntervals)).toBe(true)
});
_globals.describe.each([{
title: "one view interval",
intervals: viewIntervals,
isDateOnly: true
}, {
title: "time intervals",
intervals: timeIntervals,
isDateOnly: false
}])("$title", _ref => {
let {
intervals: intervals,
isDateOnly: isDateOnly
} = _ref;
(0, _globals.it)("should compare appointment before intervals", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(1999, 0, 10, 10),
endDate: Date.UTC(1999, 0, 11, 5)
}, intervals)).toBe(false)
});
(0, _globals.it)("should compare appointment after intervals", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2001, 0, 10, 10),
endDate: Date.UTC(2001, 0, 11, 5)
}, intervals)).toBe(false)
});
(0, _globals.it)("should compare appointment intersect interval by end date", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 9, 10),
endDate: Date.UTC(2e3, 0, 10, 5)
}, intervals)).toBe(true)
});
(0, _globals.it)("should compare appointment intersect interval by end date (hours)", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 9, 5),
endDate: Date.UTC(2e3, 0, 10, 3, 0)
}, intervals)).toBe(isDateOnly)
});
(0, _globals.it)("should compare appointment intersect interval by end date (minutes)", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 9, 5),
endDate: Date.UTC(2e3, 0, 10, 3, 35)
}, intervals)).toBe(true)
});
(0, _globals.it)("should compare appointment intersect interval by start date", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 15, 5),
endDate: Date.UTC(2e3, 0, 16, 5)
}, intervals)).toBe(true)
});
(0, _globals.it)("should compare appointment intersect interval by start date (hours)", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 15, 10, 40),
endDate: Date.UTC(2e3, 0, 16, 3, 0)
}, intervals)).toBe(isDateOnly)
});
(0, _globals.it)("should compare appointment intersect interval by start date (minutes)", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 15, 10, 20),
endDate: Date.UTC(2e3, 0, 16, 3, 0)
}, intervals)).toBe(true)
});
(0, _globals.it)("should compare appointment inside interval", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 12, 5),
endDate: Date.UTC(2e3, 0, 12, 8)
}, intervals)).toBe(true)
});
(0, _globals.it)("should compare appointment inside gap between days", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 12, 23),
endDate: Date.UTC(2e3, 0, 13, 2)
}, intervals)).toBe(isDateOnly)
});
(0, _globals.it)("should compare appointment inside gap before interval same day", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 12, 1),
endDate: Date.UTC(2e3, 0, 12, 2)
}, intervals)).toBe(isDateOnly)
});
(0, _globals.it)("should compare appointment inside gap after interval same day", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 12, 11),
endDate: Date.UTC(2e3, 0, 12, 12)
}, intervals)).toBe(isDateOnly)
})
});
(0, _globals.it)("should compare appointment hugging view interval", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 9, 12),
endDate: Date.UTC(2e3, 0, 17, 10)
}, viewIntervals)).toBe(true)
});
(0, _globals.it)("should compare appointment hugging time interval", () => {
(0, _globals.expect)((0, _is_appointment_matched_intervals.isAppointmentMatchedIntervals)({
startDate: Date.UTC(2e3, 0, 12, 1),
endDate: Date.UTC(2e3, 0, 12, 12)
}, timeIntervals)).toBe(true)
})
});