import React from 'react'; import { render, screen } from '@testing-library/react'; import AddressBookIcon from '@patternfly/react-icons/dist/esm/icons/address-book-icon'; import { EmptyState, EmptyStateVariant } from '../EmptyState'; import { EmptyStateBody } from '../EmptyStateBody'; import { EmptyStateSecondaryActions } from '../EmptyStateSecondaryActions'; import { EmptyStateIcon } from '../EmptyStateIcon'; import { EmptyStatePrimary } from '../EmptyStatePrimary'; import { Button } from '../../Button'; import { Title, TitleSizes } from '../../Title'; describe('EmptyState', () => { test('Main', () => { const { asFragment } = render( HTTP Proxies Defining HTTP Proxies that exist on your network allows you to perform various actions through those proxies. ); expect(asFragment()).toMatchSnapshot(); }); test('Main variant large', () => { const { asFragment } = render( EmptyState large ); expect(asFragment()).toMatchSnapshot(); }); test('Main variant small', () => { const { asFragment } = render( EmptyState small ); expect(asFragment()).toMatchSnapshot(); }); test('Main variant xs', () => { const { asFragment } = render( EmptyState small ); expect(asFragment()).toMatchSnapshot(); }); test('Body', () => { render(); expect(screen.getByTestId('body-test-id')).toHaveClass('custom-empty-state-body pf-c-empty-state__body'); }); test('Secondary Action', () => { render(); expect(screen.getByTestId('actions-test-id')).toHaveClass( 'custom-empty-state-secondary pf-c-empty-state__secondary' ); }); test('Icon', () => { render(); expect(screen.getByTestId('icon-test-id')).toHaveClass('pf-c-empty-state__icon'); }); test('Wrap icon in a div', () => { const { container } = render( ); expect(container.querySelector('div')).toHaveClass('pf-c-empty-state__icon custom-empty-state-icon'); expect(container.querySelector('svg')).toBeInTheDocument(); }); test('Primary div', () => { render( ); expect(screen.getByTestId('primary-test-id')).toHaveClass('pf-c-empty-state__primary'); }); test('Full height', () => { const { asFragment } = render( EmptyState large ); expect(asFragment()).toMatchSnapshot(); }); });