devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
83 lines (82 loc) • 4.04 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/recurrence/validate_rule.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/
*/
;
var _globals = require("@jest/globals");
var _base = require("./base");
var _validate_rule = require("./validate_rule");
(0, _globals.describe)("validateRRule", (() => {
(0, _globals.it)("should return true for valid rule", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=MONTHLY");
(0, _globals.expect)(isValid).toBe(true)
}));
(0, _globals.it)("should return false for undefined rule", (() => {
const isValid = (0, _validate_rule.validateRRule)(void 0);
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for incorrect freq", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=WRONG");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for wrong rule name", (() => {
const isValid = (0, _validate_rule.validateRRule)("FRE=DAILY");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return true and correct parsed rule for wrong count", (() => {
const rule = "FREQ=DAILY;COUNT=wrong";
const parsed = (0, _base.parseRecurrenceRule)(rule);
const isValid = (0, _validate_rule.validateRRuleObject)(parsed, rule);
(0, _globals.expect)(parsed).toEqual({
freq: "DAILY",
interval: 1
});
(0, _globals.expect)(isValid).toBe(true)
}));
(0, _globals.it)("should return true and correct parsed rule for wrong interval", (() => {
const rule = "FREQ=DAILY;INTERVAL=wrong";
const parsed = (0, _base.parseRecurrenceRule)(rule);
const isValid = (0, _validate_rule.validateRRuleObject)(parsed, rule);
(0, _globals.expect)(parsed).toEqual({
freq: "DAILY",
interval: 1
});
(0, _globals.expect)(isValid).toBe(true)
}));
(0, _globals.it)("should return false for wrong byDay", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=DAILY;BYDAY=wrong");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for empty byDay", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=DAILY;BYDAY=");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for wrong byDay, several value", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=DAILY;BYDAY=MO,wrong");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for wrong byMonthDay", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=MONTHLY;BYMONTHDAY=wrong");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for wrong byMonth", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=YEARLY;BYMONTH=wrong;BYMONTHDAY=12");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return false for wrong until date", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=DAILY;UNTIL=wrong");
(0, _globals.expect)(isValid).toBe(false)
}));
(0, _globals.it)("should return true if byDay has frequence for day", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=MONTHLY;BYDAY=1TU");
(0, _globals.expect)(isValid).toBe(true)
}));
(0, _globals.it)("should return true if byDay has frequence for day", (() => {
const isValid = (0, _validate_rule.validateRRule)("FREQ=MONTHLY;BYDAY=1TU,3FR");
(0, _globals.expect)(isValid).toBe(true)
}))
}));