@octopusdeploy/design-system-components
Version:
The design systems component library.
36 lines (35 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("@testing-library/react");
const vitest_1 = require("vitest");
const List_1 = require("../List");
const ListItem_1 = require("../ListItem");
(0, vitest_1.describe)("BaseList", () => {
(0, vitest_1.test)("renders the empty state when an empty list of items is provided", () => {
const { assertIsShowingEmptyState } = renderList([]);
assertIsShowingEmptyState();
});
(0, vitest_1.test)("renders the provided list of items", () => {
const items = ["First", "Second", "Third"];
const { assertListItemsVisible } = renderList(items);
assertListItemsVisible(items);
});
});
function renderList(items) {
const result = (0, react_1.render)((0, jsx_runtime_1.jsx)(List_1.List, { empty: emptyListMessage, items: items, renderRow: ({ item: description, index }) => (0, jsx_runtime_1.jsx)(ListItem_1.ListItem, { children: description }) }));
return getListInteractions();
}
function getListInteractions() {
return {
assertIsShowingEmptyState() {
(0, vitest_1.expect)(react_1.screen.getByText(emptyListMessage)).toBeInTheDocument();
},
assertListItemsVisible(items) {
items.forEach((item) => {
(0, vitest_1.expect)(react_1.screen.getByText(item)).toBeInTheDocument();
});
},
};
}
const emptyListMessage = "The list is empty";