UNPKG

@octopusdeploy/design-system-components

Version:
36 lines (35 loc) 1.52 kB
"use strict"; 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";