UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

95 lines (93 loc) 3.62 kB
/** * DevExtreme (cjs/__internal/grids/new/grid_core/editing/controller.integration.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 _renderer = _interopRequireDefault(require("../../../../../core/renderer")); var _widget = _interopRequireDefault(require("../../../../grids/new/card_view/widget")); var _utils = require("../../../../grids/new/grid_core/options_validation/utils"); var _inferno = require("inferno"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const SELECTORS = { cardView: ".dx-cardview", addButton: '[aria-label="add"]', editButton: '[aria-label="edit"]', deleteButton: '[aria-label="trash"]' }; const setup = function() { let options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; const container = document.createElement("div"); const { body: body } = document; body.append(container); const cardView = new _widget.default(container, options); (0, _inferno.rerender)(); return cardView }; const getAddButton = () => document.querySelector(SELECTORS.addButton); const getEditButton = () => document.querySelector(SELECTORS.editButton); const getDeleteButton = () => document.querySelector(SELECTORS.deleteButton); const checkError = () => (0, _globals.expect)(_utils.throwError).toHaveBeenCalledWith("E1042", "CardView"); _globals.jest.mock("@ts/grids/new/grid_core/options_validation/utils", (() => ({ throwError: _globals.jest.fn().mockImplementation((() => ({}))) }))); (0, _globals.describe)("editing validation", (() => { (0, _globals.afterEach)((() => { var _$; const cardView = document.querySelector(SELECTORS.cardView); null === (_$ = (0, _renderer.default)(cardView ?? void 0)) || void 0 === _$ || _$.dxCardView("dispose"); document.body.innerHTML = "" })); (0, _globals.beforeEach)((() => { _globals.jest.clearAllMocks() })); (0, _globals.it)("should throw error when no keyExpr and clicking on add", (() => { setup({ dataSource: [{ value: "test1" }], editing: { allowAdding: true } }); const addButton = getAddButton(); null === addButton || void 0 === addButton || addButton.dispatchEvent(new MouseEvent("click")); checkError() })); (0, _globals.it)("should throw error when no keyExpr and clicking on edit", (() => { setup({ dataSource: [{ value: "test1" }], editing: { allowUpdating: true } }); const editButton = getEditButton(); null === editButton || void 0 === editButton || editButton.dispatchEvent(new MouseEvent("click")); checkError() })); (0, _globals.it)("should throw error when no keyExpr and clicking on delete", (() => { setup({ dataSource: [{ value: "test1" }], editing: { allowDeleting: true } }); const deleteButton = getDeleteButton(); null === deleteButton || void 0 === deleteButton || deleteButton.dispatchEvent(new MouseEvent("click")); checkError() })) }));