import type { PlayAttributes } from '@/test/types' import { within } from 'storybook/test' import { expect } from '@/test/expect' export async function defaultTest( { canvasElement, args }: PlayAttributes = {} as PlayAttributes, ) { const buttonGroup = await within(canvasElement).findByTestId('button-group') const firstButton = await within(canvasElement).findByTestId('first-button') const modifiers = !args.modifiers || Array.isArray(args.modifiers) ? args.modifiers : [args.modifiers] // check modifiers if (modifiers) { for (const modifier of modifiers) { expect(buttonGroup).toHaveClass(`vv-button-group--${modifier}`) } } // check disabled if (args.disabled) { await expect(firstButton).not.toBeClicked() } else { await expect(firstButton).toBeClicked() } // check accessibility await expect(buttonGroup).toHaveNoViolations() }