@cainiaofe/cn-ui-m
Version:
37 lines (36 loc) • 2.18 kB
JavaScript
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();
});
});