Files
karma/ui/src/Components/MainModal/Configuration/AlertGroupConfiguration.test.tsx
2026-02-19 10:53:16 +00:00

48 lines
1.7 KiB
TypeScript

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(<AlertGroupConfiguration settingsStore={settingsStore} />);
};
describe("<AlertGroupConfiguration />", () => {
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();
});
});