import { composeStories } from "@storybook/react"
import { screen } from "@testing-library/react"
import { userEvent } from "@testing-library/user-event"
import React from "react"
import { expect, describe, test } from "vitest"
import { render } from "../../../tests/render"
import * as stories from "./Checkbox.stories"
const { Default, Disabled, Indeterminate } = composeStories(stories)
describe("", () => {
test("Default", async () => {
render()
const checkbox = await screen.findByRole("checkbox")
expect(checkbox).not.toBeChecked()
await userEvent.click(checkbox)
expect(checkbox).toBeChecked()
})
test("Disabled", async () => {
render()
const checkbox = await screen.findByRole("checkbox")
expect(checkbox).toBeDisabled()
expect(checkbox).toHaveClass("pointer-events-none")
const checkboxWrapper = checkbox.closest("span")
expect(checkboxWrapper).toHaveClass("cursor-not-allowed")
})
test("Indeterminate", async () => {
render()
const checkbox = await screen.findByRole("checkbox")
expect(checkbox).toHaveAttribute("aria-checked", "mixed")
})
})