@cainiaofe/cn-ui-m
Version:
27 lines (26 loc) • 1.34 kB
JavaScript
import React from 'react';
import { render, screen, fireEvent } from '@testing-library/react';
import { CnTab } from '../index';
describe('CnTab', function () {
test('renders CnTab component', function () {
var container = render(React.createElement(CnTab, null)).container;
expect(container).toBeInTheDocument();
});
test('sets the active tab correctly', function () {
render(React.createElement(CnTab, { activeKey: "1" },
React.createElement(CnTab.Item, { key: "1", title: "\u6807\u7B7E1" })));
expect(screen.getByText('标签1')).toBeInTheDocument();
});
test('changes the active tab on click', function () {
render(React.createElement(CnTab, null,
React.createElement(CnTab.Item, { key: "1", title: "Tab 1" }),
React.createElement(CnTab.Item, { key: "2", title: "Tab 2" })));
fireEvent.click(screen.getByText('Tab 2'));
expect(screen.getByText('Tab 2').classList.contains('cn-ui-m-tab-item--active'));
});
test('renders additional slot correctly', function () {
render(React.createElement(CnTab, { additionSlot: React.createElement("div", null, "Additional Slot") },
React.createElement(CnTab.Item, { key: "1" })));
expect(screen.getByText('Additional Slot')).toBeInTheDocument();
});
});