devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
83 lines (82 loc) • 4.01 kB
JavaScript
/**
* DevExtreme (cjs/__internal/scheduler/recurrence/validate_rule.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 _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)
})
});