UNPKG

@brightlayer-ui/react-native-auth-workflow

Version:

Re-usable workflow components for Authentication and Registration within Eaton applications.

40 lines (39 loc) 1.99 kB
import React from 'react'; import { render, fireEvent, cleanup } from '@testing-library/react-native'; import { WorkflowCardHeader } from 'src/components/WorkflowCard'; import renderer from 'react-test-renderer'; import { SafeAreaProvider } from 'react-native-safe-area-context'; // Or the appropriate library describe('WorkflowCardHeader', () => { afterEach(cleanup); it('WorkflowCardHeader renders correctly', () => { const rendered = renderer .create(React.createElement(SafeAreaProvider, null, React.createElement(WorkflowCardHeader, { title: 'title', onIconPress: jest.fn() }))) .toJSON(); expect(rendered).toBeTruthy(); }); it('WorkflowCardHeader renders correctly with custom icon', () => { const rendered = renderer .create(React.createElement(SafeAreaProvider, null, React.createElement(WorkflowCardHeader, { title: 'title', backgroundColor: "#fff", onIconPress: jest.fn(), icon: { name: 'close' } }))) .toJSON(); expect(rendered).toBeTruthy(); }); it('renders the title and subtitle correctly', () => { const title = 'Test Title'; const subtitle = 'subtitle'; const { getByText } = render(React.createElement(SafeAreaProvider, null, ' ', React.createElement(WorkflowCardHeader, { title: title, subTitle: subtitle, onIconPress: jest.fn() }))); expect(getByText(title)).toBeTruthy(); expect(getByText(subtitle)).toBeTruthy(); }); it('calls onIconPress when the icon is pressed', () => { const onIconPress = jest.fn(); const { getByTestId } = render(React.createElement(SafeAreaProvider, null, React.createElement(WorkflowCardHeader, { title: "Test Title", onIconPress: onIconPress }))); const icon = getByTestId('blui-workflow-card-header-icon'); fireEvent.press(icon); expect(onIconPress).toHaveBeenCalledTimes(1); }); });