Farmbot-Web-App/frontend/controls/move/__tests__/settings_menu_test.tsx

54 lines
1.7 KiB
TypeScript

let mockDev = false;
jest.mock("../../../account/dev/dev_support", () => ({
DevSettings: {
futureFeaturesEnabled: () => mockDev,
}
}));
import * as React from "react";
import { mount } from "enzyme";
import { BooleanSetting } from "../../../session_keys";
import {
moveWidgetSetting, MoveWidgetSettingsMenu, MoveWidgetSettingsMenuProps,
} from "../settings_menu";
describe("moveWidgetSetting()", () => {
it("renders setting", () => {
const Setting = moveWidgetSetting(jest.fn(), jest.fn(() => true));
const wrapper = mount(<Setting
label="label"
setting={BooleanSetting.xy_swap} />);
["label", "yes"].map(string =>
expect(wrapper.text().toLowerCase()).toContain(string));
});
});
describe("<MoveWidgetSettingsMenu />", () => {
const fakeProps = (): MoveWidgetSettingsMenuProps => ({
toggle: jest.fn(),
getValue: jest.fn(),
firmwareHardware: undefined,
});
it("displays motor plot toggle", () => {
const noToggle = mount(<MoveWidgetSettingsMenu {...fakeProps()} />);
expect(noToggle.text()).not.toContain("Motor position plot");
mockDev = true;
const wrapper = mount(<MoveWidgetSettingsMenu {...fakeProps()} />);
expect(wrapper.text()).toContain("Motor position plot");
mockDev = false;
});
it("displays encoder toggles", () => {
const wrapper = mount(<MoveWidgetSettingsMenu {...fakeProps()} />);
expect(wrapper.text().toLowerCase()).toContain("encoder");
});
it("doesn't display encoder toggles", () => {
const p = fakeProps();
p.firmwareHardware = "express_k10";
const wrapper = mount(<MoveWidgetSettingsMenu {...p} />);
expect(wrapper.text().toLowerCase()).not.toContain("encoder");
});
});