import React from 'react';
import { render } from '@testing-library/react';
import { BetaBadge, BetaBadgeProps } from '../betaBadge';

describe('<BetaBadge>', () => {
    const renderComponent = (props: BetaBadgeProps) => render(<BetaBadge {...props} />);

    test('renders', () => {
        const { container } = renderComponent({});
        expect(container).toMatchSnapshot();
    });

    test('renders label', () => {
        const { getByText } = renderComponent({});
        expect(getByText('BETA')).toBeVisible();
    });

    test('accepts className', () => {
        const className = 'alpha';
        const { container } = renderComponent({
            className,
        });
        expect(container.querySelector(`.${className}`)).toBeVisible();
    });

    test('accepts custom label', () => {
        const label = 'test label';
        const { getByText } = renderComponent({
            label,
        });
        expect(getByText(label)).toBeVisible();
    });
});
