UNPKG

@cainiaofe/cn-ui-m

Version:
37 lines (36 loc) 2.18 kB
import React from 'react'; import { render, fireEvent } from '@testing-library/react'; import { CnNavBar } from '../index'; describe('CnNavBar', function () { test('renders correctly with back button', function () { var onBack = jest.fn(); var _a = render(React.createElement(CnNavBar, { back: "Back", onBack: onBack, title: "Title", subTitle: "Subtitle", right: React.createElement("button", null, "Button") })), getByText = _a.getByText, getByTestId = _a.getByTestId; expect(getByText('Back')).toBeInTheDocument(); expect(getByText('Title')).toBeInTheDocument(); expect(getByText('Subtitle')).toBeInTheDocument(); expect(getByText('Button')).toBeInTheDocument(); fireEvent.click(getByTestId('nav-bar-back-button')); expect(onBack).toHaveBeenCalled(); }); test('renders correctly without back button', function () { var queryByText = render(React.createElement(CnNavBar, { title: "Title", subTitle: "Subtitle", right: React.createElement("button", null, "Button") })).queryByText; expect(queryByText('Back')).toBeNull(); expect(queryByText('Title')).toBeInTheDocument(); expect(queryByText('Subtitle')).toBeInTheDocument(); expect(queryByText('Button')).toBeInTheDocument(); }); test('renders correctly without title and subtitle', function () { var queryByText = render(React.createElement(CnNavBar, { right: React.createElement("button", null, "Button") })).queryByText; expect(queryByText('Back')).toBeNull(); expect(queryByText('Title')).toBeNull(); expect(queryByText('Subtitle')).toBeNull(); expect(queryByText('Button')).toBeInTheDocument(); }); test('renders correctly without right content', function () { var queryByText = render(React.createElement(CnNavBar, { back: "Back", onBack: jest.fn(), title: "Title", subTitle: "Subtitle" })).queryByText; expect(queryByText('Back')).toBeInTheDocument(); expect(queryByText('Title')).toBeInTheDocument(); expect(queryByText('Subtitle')).toBeInTheDocument(); expect(queryByText('Button')).toBeNull(); }); });