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'); });