import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';
import React from 'react';
import SignedBadge from './SignedBadge';
describe('SignedBadge', () => {
afterEach(() => {
jest.resetAllMocks();
});
it('creates snapshot', () => {
const { asFragment } = render();
expect(asFragment).toMatchSnapshot();
});
it('renders label for Helm package', async () => {
render();
expect(screen.getByText('Signed')).toBeInTheDocument();
const badge = screen.getByTestId('elementWithTooltip');
expect(badge).toBeInTheDocument();
userEvent.hover(badge);
expect(await screen.findByRole('tooltip')).toBeInTheDocument();
expect(screen.getByText('This chart has a provenance file')).toBeInTheDocument();
});
it('does not render label for not helm package', () => {
render();
expect(screen.getByText('Signed')).toBeInTheDocument();
const badge = screen.getByTestId('elementWithTooltip');
expect(badge).toBeInTheDocument();
userEvent.hover(badge);
expect(screen.queryByText('This chart has a provenance file')).toBeNull();
expect(screen.queryByRole('tooltip')).toBeNull();
});
it('does not render label', () => {
const { container } = render();
expect(container).toBeEmptyDOMElement();
});
});