UNPKG

@navinc/base-react-components

Version:
43 lines 1.89 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { describe, expect, it } from 'vitest'; import { screen } from '@testing-library/react'; import { HelperText, getError } from './helper-text.js'; import { testComponentRef, testComponentCommonStandards } from '@navinc/test-helpers'; import { renderWithContext } from '../../tests/with-app-context.js'; describe('getError', () => { const cases = [ ['some error', 'some error'], [['error 1', 'error 2'], 'error 1'], [[], undefined], [undefined, undefined], ]; it.each(cases)('getError(%s) should return a string or undefined', (input, expected) => { expect(getError(input)).toEqual(expected); }); }); describe('<HelperText />', () => { testComponentRef(HelperText); testComponentCommonStandards(HelperText); it('renders empty div with no props to preserve spacing', () => { renderWithContext(_jsx(HelperText, {})); expect(screen.getByTestId('helper-text')).toBeEmptyDOMElement(); }); it('renders with helper text', () => { const text = "Help! I have fallen and I can't get up!"; renderWithContext(_jsx(HelperText, { helperText: text })); expect(screen.getByText(text)); }); it('renders with error text', () => { const text = 'Oh no, I broke it!'; renderWithContext(_jsx(HelperText, { errorText: text })); expect(screen.getByText(text)); }); it('renders with error text as priority', () => { const helperText = "Help! I have fallen and I can't get up!"; const errorText = 'Oh no, I broke it!'; renderWithContext(_jsx(HelperText, { helperText: helperText, errorText: errorText })); expect(screen.getByText(errorText)); expect(screen.queryByText(helperText)).not.toBeInTheDocument(); }); }); //# sourceMappingURL=helper-text.spec.js.map