it("renders children", () => { const wrapper = mount(WidgetHeader({ title: "fakeWidget", children: "children" })); expect(wrapper.html()).toContain("children"); });
it("renders", () => { let element = mount(BackArrow()); expect(element).toBeTruthy(); expect(element.hasClass("back-arrow")).toBeTruthy(); expect(element.find("i").at(0).hasClass("fa-arrow-left")) .toBeTruthy(); });
it('should properly pass down useCapture', () => { const calls: string[] = []; let b: any; class Test extends React.Component<any, any> { public onClick() { calls.push('test'); } public render() { return React.createElement('button', { onClick: () => calls.push('button'), ref: (i: any) => b = i, }); } } const element = document.createElement('div'); document.body.appendChild(element); const Mixout = mixout(listen('click', 'onClick', { target: 'document', useCapture: true }))(Test); mount(React.createElement(Mixout), { attachTo: element }); expect(calls).to.deep.equal([]); b.click(); expect(calls).to.deep.equal(['test', 'button']); });
it("renders helpText", () => { const wrapper = mount(WidgetHeader({ title: "fakeWidget", helpText: "fakeHelp" })); expect(wrapper.html()).toContain("fakeHelp"); expect(wrapper.html()).not.toContain("a href"); });
export function safeMount<TComponent extends React.Component, TProps = TComponent['props'], TState = TComponent['state']>( content: React.ReactElement<TProps>, callback: (wrapper: ReactWrapper<TProps, TState, TComponent>) => void ): void { const wrapper = mount<TComponent, TProps, TState>(content); callback(wrapper); wrapper.unmount(); }
it("renders Router", () => { const renderSpy = spy(ReactDOM, "render"); new CirculationWeb({}); expect(renderSpy.callCount).to.equal(1); const component = renderSpy.args[0][0]; const wrapper = mount(component); const router = wrapper.find(Router); expect(router.length).to.equal(1); renderSpy.restore(); });
it("renders Setup", () => { const renderSpy = spy(ReactDOM, "render"); new CirculationWeb({ settingUp: true }); expect(renderSpy.callCount).to.equal(1); const component = renderSpy.args[0][0]; const wrapper = mount(component); const setup = wrapper.find(SetupPage); expect(setup.length).to.equal(1); renderSpy.restore(); });
it("renders docs link", () => { const wrapper = mount(WidgetHeader({ title: "fakeWidget", helpText: "fakeHelp", docPage: "farmware" })); expect(wrapper.html()) .toContain(docLink("farmware")); expect(wrapper.text()).toContain("Documentation"); expect(wrapper.html()).toContain("fa-external-link"); });
describe("<Widget />", () => { const params = { children: "wow", className: "k" }; const result = mount(Widget(params)); it("renders correct children", () => { expect(result.html()).toContain("wow"); }); it("renders correct classnames", () => { const element = result.find("div"); expect(element.hasClass("k")).toBeTruthy(); expect(element.hasClass("widget-wrapper")).toBeTruthy(); }); });
it('should properly listen on window events as default', () => { let clicks = 0; const Test = buildClass(() => clicks++); const Mixout = mixout(listen('click', 'onClick'))(Test); mount(React.createElement(Mixout)); document.body.click(); expect(clicks).to.be.equals(1); document.body.click(); document.body.click(); expect(clicks).to.be.equals(3); });