devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
151 lines (150 loc) • 5.65 kB
JavaScript
/**
* DevExtreme (cjs/__internal/grids/new/grid_core/toolbar/options.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 _di = require("../di.test_utils");
var _options_controller = require("../options_controller/options_controller.mock");
var _view = require("./view");
const setup = config => {
const context = (0, _di.getContext)(config ?? {
toolbar: {
visible: true
}
});
const rootElement = document.createElement("div");
const optionsController = context.get(_options_controller.OptionsControllerMock);
const toolbar = context.get(_view.ToolbarView);
toolbar.render(rootElement);
return {
rootElement: rootElement,
optionsController: optionsController
}
};
(0, _globals.describe)("Options", (() => {
(0, _globals.describe)("visilbe", (() => {
(0, _globals.describe)("when it is 'true'", (() => {
(0, _globals.it)("Toolbar should be visible", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
visible: true
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}));
(0, _globals.describe)("when it is 'false'", (() => {
(0, _globals.it)("Toolbar should be hidden", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
visible: false
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}));
(0, _globals.describe)("when changing it to 'false' at runtime", (() => {
(0, _globals.it)("Toolbar should be hidden", (() => {
const {
rootElement: rootElement,
optionsController: optionsController
} = setup({
toolbar: {
visible: true
}
});
optionsController.option("toolbar.visible", false);
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}));
(0, _globals.describe)("when changing it to 'true' at runtime", (() => {
(0, _globals.it)("Toolbar should be visible", (() => {
const {
rootElement: rootElement,
optionsController: optionsController
} = setup({
toolbar: {
visible: false
}
});
optionsController.option("toolbar.visible", true);
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}))
}));
(0, _globals.describe)("items", (() => {
(0, _globals.describe)("when these are not set", (() => {
(0, _globals.it)("Toolbar should be hidden", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
items: []
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}));
(0, _globals.describe)("when these are set", (() => {
(0, _globals.it)("Toolbar should be visible", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
items: [{
location: "before",
widget: "dxButton",
options: {
text: "button1"
}
}, {
location: "after",
widget: "dxButton",
options: {
text: "button2"
}
}]
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}))
}));
(0, _globals.describe)("disabled", (() => {
(0, _globals.describe)("when it is 'true'", (() => {
(0, _globals.it)("Toolbar should be disabled", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
visible: true,
disabled: true
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}));
(0, _globals.describe)("when it is 'false'", (() => {
(0, _globals.it)("Toolbar should not be disabled", (() => {
const {
rootElement: rootElement
} = setup({
toolbar: {
visible: true,
disabled: false
}
});
(0, _globals.expect)(rootElement).toMatchSnapshot()
}))
}))
}))
}));