devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
137 lines (136 loc) • 5.82 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/utils/data_accessor/appointment_data_accessor.test.js)
* Version: 25.1.3
* Build date: Wed Jun 25 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
"use strict";
var _globals = require("@jest/globals");
var _appointment_data_accessor = require("./appointment_data_accessor");
(0, _globals.describe)("AppointmentDataAccessor", (() => {
(0, _globals.it)("should get custom property", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "prop"
}, false);
(0, _globals.expect)(dataAccessor.get("prop", {
prop: 1
})).toBe(1)
}));
(0, _globals.it)("should set custom property", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "prop"
}, false);
const obj = {
prop: 1
};
dataAccessor.set("prop", obj, 2);
(0, _globals.expect)(obj.prop).toBe(2)
}));
(0, _globals.it)("should get custom property by alias", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "alias"
}, false);
(0, _globals.expect)(dataAccessor.get("prop", {
alias: 1
})).toBe(1)
}));
(0, _globals.it)("should set custom property by alias", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "alias"
}, false);
const obj = {
alias: 1
};
dataAccessor.set("prop", obj, 2);
(0, _globals.expect)(obj.alias).toBe(2)
}));
(0, _globals.it)("should get custom property by nested alias", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "nested.alias"
}, false);
(0, _globals.expect)(dataAccessor.get("prop", {
nested: {
alias: 1
}
})).toBe(1)
}));
(0, _globals.it)("should set custom property by nested alias", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
propExpr: "nested.alias"
}, false);
const obj = {
nested: {
alias: 1
}
};
dataAccessor.set("prop", obj, 2);
(0, _globals.expect)(obj.nested.alias).toBe(2)
}));
(0, _globals.it)("should get serialized date property", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate"
}, true);
(0, _globals.expect)(dataAccessor.get("startDate", {
startDate: "2025/04/29"
})).toEqual(new Date(2025, 3, 29))
}));
(0, _globals.it)("should set serialized date as number", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate"
}, true, "number");
const obj = {
startDate: "2025-04-30T15:00:00.000Z"
};
dataAccessor.set("startDate", obj, new Date("2025-05-30T15:00:00.000Z"));
(0, _globals.expect)(obj.startDate).toBe(17486172e5)
}));
(0, _globals.it)("should set serialized date as in initial object", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate"
}, true);
const obj = {
startDate: "2025/04/29"
};
dataAccessor.set("startDate", obj, new Date("2025-05-30T15:00:00.000Z"));
(0, _globals.expect)(obj.startDate).toBe("2025/05/30")
}));
(0, _globals.it)("should return correct access expression existence", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate"
}, true);
(0, _globals.expect)(dataAccessor.has("startDate")).toBe(true);
(0, _globals.expect)(dataAccessor.has("endDate")).toBe(false)
}));
(0, _globals.it)("should return date", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate",
endDateExpr: "endDate"
}, true);
const obj = {
startDate: "2025-05-30T15:00:00.000Z",
endDate: "2025-05-30T15:00:00.000Z"
};
(0, _globals.expect)(dataAccessor.get("startDate", obj)).toEqual(new Date("2025-05-30T15:00:00.000Z"));
(0, _globals.expect)(dataAccessor.get("endDate", obj)).toEqual(new Date("2025-05-30T15:00:00.000Z"))
}));
(0, _globals.it)("should return undefined for date fields", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
startDateExpr: "startDate",
endDateExpr: "endDate"
}, true);
const obj = {};
(0, _globals.expect)(dataAccessor.get("startDate", obj)).toBe(void 0);
(0, _globals.expect)(dataAccessor.get("endDate", obj)).toBe(void 0)
}));
(0, _globals.it)("should return boolean", (() => {
const dataAccessor = new _appointment_data_accessor.AppointmentDataAccessor({
disabledExpr: "disabled",
allDayExpr: "allDay"
}, true);
const obj = {};
(0, _globals.expect)(dataAccessor.get("disabled", obj)).toBe(false);
(0, _globals.expect)(dataAccessor.get("allDay", obj)).toBe(false)
}))
}));