import { render, screen, fireEvent } from '@testing-library/react';
import { describe, it, expect, vi } from 'vitest';
import { Toggle } from './toggle';
import React from 'react';
describe('Toggle', () => {
it('renders correctly', () => {
render(Toggle Me);
expect(screen.getByText('Toggle Me')).toBeInTheDocument();
});
it('toggles state on click', () => {
const onPressedChange = vi.fn();
render(Toggle);
const toggle = screen.getByRole('button');
fireEvent.click(toggle);
expect(onPressedChange).toHaveBeenCalledWith(true);
});
it('reflects pressed state', () => {
render(Pressed);
const toggle = screen.getByRole('button');
expect(toggle).toHaveAttribute('data-state', 'on');
});
it('is disabled when disabled prop is true', () => {
render(Disabled);
const toggle = screen.getByRole('button');
expect(toggle).toBeDisabled();
});
});