import React from 'react' ; import { render , screen } from '@testing-library/react' ; import userEvent from '@testing-library/user-event' ; import { Tabs } from '../src' ; import { tabs , simple10Tabs } from '../src/Tabs/data' ; describe ( 'Tabs' , function ( ) { it ( 'renders correctly' , ( ) => { const { container } = render ( < Tabs tabs = { tabs } onClick = { ( ) => { } } />); expect ( container . firstChild ) . toMatchSnapshot ( ) ; } ) ; it ( 'renders with props' , ( ) => { const { container } = render ( < Tabs tabs = { tabs } onClick = { ( ) => { } } selected = "Tab2" / > ) ; expect ( container . firstChild ) . toMatchSnapshot ( ) ; } ) ; it ( 'renders tabs without inner components' , ( ) => { const { container } = render ( < Tabs tabs = { simple10Tabs } onClick = { ( ) => { } } selected = "5" / > ) ; expect ( container . firstChild ) . toMatchSnapshot ( ) ; } ) ; it ( 'should select tab' , ( ) => { const onClick = jest . fn ( ) ; render ( < Tabs tabs = { tabs } onClick = { onClick } / > ) ; userEvent . click ( screen . getByRole ( 'button' , { name : 'Tab1' } ) ) ; expect ( onClick ) . toHaveBeenCalled ( ) ; } ) ; } ) ;