import * as React from 'react';
import Media from './Media';
import {render} from '@testing-library/react';
import {testA11y} from '../../axe';
const defaultProps = {
contentArray: [
The Goat
,
Master,
],
aside:
aside
,
};
describe('Media', () => {
it('render', () => {
const media = render();
expect(media.queryByText('Master')).toBeTruthy();
expect(media.queryByText('The Goat')).toBeTruthy();
});
it('testing modifications - all on', () => {
const media = render(
);
// @ts-ignore TS18047
const rootClasses = media.container.firstElementChild.classList;
expect(rootClasses.contains('sg-media--clickable')).toEqual(true);
expect(rootClasses.contains('sg-media--no-padding')).toEqual(true);
expect(
// @ts-ignore TS18047
media.container.firstElementChild.querySelectorAll(
'.sg-media__content--spaced-bottom'
)
).toHaveLength(defaultProps.contentArray.length);
expect(
// @ts-ignore TS18047
media.container.firstElementChild.querySelectorAll(
'.sg-media__content--small'
)
).toHaveLength(defaultProps.contentArray.length);
});
it('testing modifications - all off', () => {
const media = render();
// @ts-ignore TS18047
const rootClasses = media.container.firstElementChild.classList;
expect(rootClasses.contains('sg-media--clickable')).toEqual(false);
expect(rootClasses.contains('sg-media--no-padding')).toEqual(false);
});
describe('a11y', () => {
it('should have no a11y violations', async () => {
await testA11y();
});
});
});