import { render, fireEvent } from "@testing-library/react"; import { Settings } from "Stores/Settings"; import { AlertGroupConfiguration } from "./AlertGroupConfiguration"; let settingsStore: Settings; beforeEach(() => { settingsStore = new Settings(null); }); const renderConfiguration = () => { return render(); }; describe("", () => { it("matches snapshot with default values", () => { const { asFragment } = renderConfiguration(); expect(asFragment()).toMatchSnapshot(); }); it("settings are updated on completed change", () => { const { container } = renderConfiguration(); expect(settingsStore.alertGroupConfig.config.defaultRenderCount).toBe(5); const slider = container.querySelector("div.input-range-thumb"); fireEvent.click(slider!); fireEvent.keyDown(slider!, { key: "ArrowLeft", keyCode: 37 }); fireEvent.keyUp(slider!, { key: "ArrowLeft", keyCode: 37 }); expect(settingsStore.alertGroupConfig.config.defaultRenderCount).toBe(4); fireEvent.keyDown(slider!, { key: "ArrowRight", keyCode: 39 }); fireEvent.keyUp(slider!, { key: "ArrowRight", keyCode: 39 }); fireEvent.keyDown(slider!, { key: "ArrowRight", keyCode: 39 }); fireEvent.keyUp(slider!, { key: "ArrowRight", keyCode: 39 }); expect(settingsStore.alertGroupConfig.config.defaultRenderCount).toBe(6); }); it("custom interval value is rendered correctly", () => { settingsStore.alertGroupConfig.setDefaultRenderCount(4); const { container } = renderConfiguration(); const thumb = container.querySelector(".input-range-thumb"); expect(thumb).toBeInTheDocument(); }); });