devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
88 lines (87 loc) • 3.32 kB
JavaScript
/**
* DevExtreme (esm/__internal/grids/new/card_view/content_view/content/card/header.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/
*/
import {
createVNode,
createComponentVNode
} from "inferno";
import {
describe,
expect,
it
} from "@jest/globals";
import {
render
} from "inferno";
import {
CardHeader,
CLASSES
} from "./header";
describe("CardHeader", (() => {
it("should render with default properties", (() => {
const container = document.createElement("div");
render(createComponentVNode(2, CardHeader, {
card: {},
visible: true,
items: [{
location: "before",
text: "Test Header"
}]
}), container);
const header = container.querySelector(`.${CLASSES.cardHeader}`);
expect(header).not.toBeNull();
const headerItem = container.querySelector(".dx-toolbar-item");
expect(headerItem).not.toBeNull();
expect(null === headerItem || void 0 === headerItem ? void 0 : headerItem.textContent).toBe("Test Header")
}));
it("should not render when visible is false", (() => {
const container = document.createElement("div");
render(createComponentVNode(2, CardHeader, {
card: {},
visible: false
}), container);
const header = container.querySelector(CLASSES.cardHeader);
expect(header).toBeNull()
}));
it("should render with caption from captionExpr", (() => {
const container = document.createElement("div");
render(createComponentVNode(2, CardHeader, {
visible: true,
captionExpr: "name",
card: {
name: "Card Title"
}
}), container);
const captionItem = container.querySelector(".dx-toolbar-item");
expect(captionItem).not.toBeNull();
expect(null === captionItem || void 0 === captionItem ? void 0 : captionItem.textContent).toBe("Card Title")
}));
it("should render with a custom template", (() => {
const container = document.createElement("div");
render(createComponentVNode(2, CardHeader, {
visible: true,
card: {},
template: () => createVNode(1, "div", "custom-header", "Custom Header", 16)
}), container);
const customHeader = container.querySelector(".custom-header");
expect(customHeader).not.toBeNull();
expect(null === customHeader || void 0 === customHeader ? void 0 : customHeader.textContent).toBe("Custom Header")
}));
it("should render a selection checkbox", (() => {
const container = document.createElement("div");
render(createComponentVNode(2, CardHeader, {
visible: true,
isCheckBoxesRendered: true,
card: {
name: "Card Title"
}
}), container);
const checkboxItem = container.querySelector(".dx-cardview-select-checkbox");
expect(checkboxItem).not.toBeNull()
}))
}));