Tests - Fix mountAndGetRootNode usage + Add depth=1 test case

This commit is contained in:
2019-07-20 18:55:34 +05:30
parent 8de40dcfc8
commit 3d32347a37
3 changed files with 33 additions and 23 deletions
+10
View File
@@ -0,0 +1,10 @@
// import * as PropTypes from "prop-types";
import * as React from "react";
class CDepth1 extends React.Component {
render() {
return null;
}
}
export default CDepth1;
@@ -7,8 +7,4 @@ class CDepth2 extends React.Component {
}
}
// C.propTypes = {
// text: PropTypes.string.isRequired
// };
export default CDepth2;
+22 -18
View File
@@ -1,8 +1,12 @@
import * as React from "react";
// import ReactDOM from "react-dom";
import { mount } from "enzyme";
// import * as React from "react";
// Import stuff from src
import { traverse } from "../src";
// Import test helpers and sample components
import { mountAndGetRootNode } from "./utils/mount-in-enzyme";
import CDepth1 from "./sample-components/depth-1-simple";
import CDepth2 from "./sample-components/depth-2-simple";
import { traverse, FiberNode } from "../src";
describe("Basic traverse test", () => {
let container: HTMLDivElement;
@@ -15,23 +19,23 @@ describe("Basic traverse test", () => {
document.body.removeChild(container);
});
it("should render correctly", () => {
const rootRef = React.createRef<CDepth2>();
// ReactDOM.render(
// <C text="text" ref={rootRef} />,
// document.getElementById("container")
// );
mount(<CDepth2 ref={rootRef} />, { attachTo: container });
it("should work for depth=1", () => {
const rootNode = mountAndGetRootNode(CDepth1, container);
const mockCallback = jest.fn();
if (rootRef.current !== null) {
traverse(
(rootRef.current as any)._reactInternalFiber.child as FiberNode,
mockCallback
);
}
traverse(rootNode, mockCallback);
// The mock function is called twice
expect(mockCallback.mock.calls.length).toBe(1);
});
it("should work for depth=2", () => {
const rootNode = mountAndGetRootNode(CDepth2, container);
const mockCallback = jest.fn();
traverse(rootNode, mockCallback);
// The mock function is called twice
expect(mockCallback.mock.calls.length).toBe(2);