import * as React from 'react'; import kebabCase from 'lodash/kebabCase'; import { render, screen } from '@testing-library/react'; import { View } from '../View'; import { ComponentPropsToStylePropsMap } from '../../types'; describe('View:', () => { const viewText = 'Hello from inside a view'; it('renders correct defaults', async () => { const viewId = 'viewId'; const viewTestId = 'viewTestId'; render( {viewText} ); const view = await screen.findByText(viewText); expect(view.id).toBe(viewId); expect(view.dataset['testid']).toBe(viewTestId); expect(view.innerHTML).toBe(viewText); expect(view.nodeName).toBe('DIV'); }); it('should render class name', async () => { const className = 'class-test'; const testId = 'view-test'; render(); const view = await screen.findByTestId(testId); expect(view).toHaveClass(className); }); it('should forward ref to DOM element', async () => { const ref = React.createRef(); const text = 'Hello there'; render({text}); await screen.findByText(text); expect(ref.current?.nodeName).toBe('DIV'); expect(ref.current?.innerHTML).toBe(text); }); it('can render a