import type { Meta, StoryObj } from '@storybook/nextjs-vite' import { expect, fn } from 'storybook/test' import { PaymentOptionsGroup } from './PaymentOptionsGroup' import { PaymentOption } from './PaymentOption' import { PaymentMethodEnum } from '@scandic-hotels/common/constants/paymentMethod' import { FormDecorator } from '../../../../.storybook/decorators/FormDecorator' const meta: Meta = { title: 'Components/Payment/PaymentOptionsGroup', component: PaymentOptionsGroup, decorators: [FormDecorator], } export default meta type Story = StoryObj export const Default: Story = { args: { label: 'Select Payment Method', name: 'paymentMethod', onChange: fn(), children: ( <> ), }, play: async ({ canvas, userEvent, args }) => { const visaOption = await canvas.findByRole('radio', { name: 'Visa' }) expect(visaOption).toBeInTheDocument() expect(args.onChange).not.toHaveBeenCalled() await userEvent.click(visaOption) expect(args.onChange).toHaveBeenCalledWith('visa') }, }