import { cleanup, fireEvent, render, screen, waitFor } from "@testing-library/react"; import { useState } from "react"; import { afterEach, describe, expect, it, vi } from "vitest"; import { SettingsSaveProvider } from "@/components/settings/settings-save-provider"; import { useWatcherEnabledDrafts } from "./use-watcher-enabled-drafts"; const watch = { id: "watch-1", enabled: true }; const saveChangesLabel = "Save changes"; afterEach(cleanup); function Harness({ save }: { save: (enabled: boolean) => Promise }) { const drafts = useWatcherEnabledDrafts({ id: "test-watches", items: [watch], saveEnabled: (_watch, enabled) => save(enabled), }); return ( ); } function ReconciliationHarness({ save }: { save: (enabled: boolean) => Promise }) { const [items, setItems] = useState([watch]); const drafts = useWatcherEnabledDrafts({ id: "test-watches", items, saveEnabled: (_watch, enabled) => save(enabled), }); return ( <>