import { test, expect } from 'vitest';
import { render } from '@testing-library/react';
import AspectBox from './AspectBox';
test('aspect box renders correctly', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(image).toHaveClass('ds_aspect-box__inner');
expect(imageContainer).toHaveClass('ds_aspect-box');
});
test('1:1 ratio', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer).toHaveClass('ds_aspect-box--square');
});
test('square ratio', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer).toHaveClass('ds_aspect-box--square');
});
test('4:3 ratio', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer).toHaveClass('ds_aspect-box--43');
});
test('21:9 ratio', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer).toHaveClass('ds_aspect-box--219');
});
test('passing additional props', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer?.dataset.test).toEqual('foo');
});
test('passing additional CSS classes', () => {
render(
);
const image = document.querySelector('img');
const imageContainer = image?.parentElement;
expect(imageContainer).toHaveClass('foo', 'ds_aspect-box');
});