import { brandColor } from '@shlinkio/shlink-frontend-kit';
import type { ShlinkLogoProps } from '../../../src/common/img/ShlinkLogo';
import { ShlinkLogo } from '../../../src/common/img/ShlinkLogo';
import { checkAccessibility } from '../../__helpers__/accessibility';
import { render } from '../../__helpers__/setUpTest.tsx';
describe('', () => {
const setUp = (props: ShlinkLogoProps = {}) => render();
it('passes a11y checks', () => checkAccessibility(setUp()));
it.each([
[undefined, brandColor()],
['red', 'red'],
['white', 'white'],
])('renders expected color', async (color, expectedColor) => {
const { container } = await setUp({ color });
await expect.element(container.querySelector('g')).toHaveAttribute('fill', expectedColor);
});
it.each([
[undefined, undefined],
['foo', 'foo'],
['bar', 'bar'],
])('renders expected class', async (className, expectedClassName) => {
const { container } = await setUp({ className });
if (expectedClassName) {
await expect.element(container.firstChild as HTMLElement).toHaveAttribute('class', expectedClassName);
} else {
await expect.element(container.firstChild as HTMLElement).not.toHaveAttribute('class');
}
});
});