devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
64 lines (63 loc) • 2.02 kB
JavaScript
/**
* DevExtreme (esm/__internal/scheduler/view_model/generate_view_model/steps/maybe_split.test.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
describe,
expect,
it
} from "@jest/globals";
import {
maybeSplit
} from "./maybe_split";
const entities = [{
isAllDayPanelOccupied: true,
startDateUTC: 10
}, {
isAllDayPanelOccupied: false,
startDateUTC: 10
}, {
isAllDayPanelOccupied: false,
startDateUTC: 12
}, {
isAllDayPanelOccupied: true,
startDateUTC: 12
}, {
isAllDayPanelOccupied: false,
startDateUTC: 15
}];
const callback = (items, panelName) => items.map((item => Object.assign({}, item, {
panelName: panelName
})));
describe("maybeSplit", (() => {
it("should not split", (() => {
expect(maybeSplit(entities, false, callback)).toEqual([Object.assign({}, entities[0], {
panelName: "regularPanel"
}), Object.assign({}, entities[1], {
panelName: "regularPanel"
}), Object.assign({}, entities[2], {
panelName: "regularPanel"
}), Object.assign({}, entities[3], {
panelName: "regularPanel"
}), Object.assign({}, entities[4], {
panelName: "regularPanel"
})])
}));
it("should split and sort by startDate", (() => {
expect(maybeSplit(entities, true, callback)).toEqual([Object.assign({}, entities[0], {
panelName: "allDayPanel"
}), Object.assign({}, entities[1], {
panelName: "regularPanel"
}), Object.assign({}, entities[3], {
panelName: "allDayPanel"
}), Object.assign({}, entities[2], {
panelName: "regularPanel"
}), Object.assign({}, entities[4], {
panelName: "regularPanel"
})])
}))
}));