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: "Patterns/Form/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") }, }