mirror of
https://github.com/prymitive/karma
synced 2026-05-21 04:33:07 +00:00
48 lines
1.7 KiB
TypeScript
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();
|
|
});
|
|
});
|