2020-10-16 13:16:01 +00:00
|
|
|
import React from "react";
|
|
|
|
import { mount, shallow } from "enzyme";
|
|
|
|
import TextInput from ".";
|
2019-09-08 16:19:17 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
describe("<TextInput />", () => {
|
|
|
|
it("renders without error", () => {
|
|
|
|
const wrapper = mount(<TextInput value="text" onChange={jest.fn()} />);
|
2019-09-08 16:19:17 +00:00
|
|
|
|
|
|
|
expect(wrapper).toExist();
|
|
|
|
});
|
2019-09-17 11:07:35 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("not re-render test", () => {
|
2019-12-05 07:24:32 +00:00
|
|
|
const onChange = jest.fn();
|
2019-09-17 11:07:35 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
const wrapper = shallow(
|
|
|
|
<TextInput value="text" onChange={onChange} />
|
|
|
|
).instance();
|
2019-09-17 11:07:35 +00:00
|
|
|
|
|
|
|
const shouldUpdate = wrapper.shouldComponentUpdate(wrapper.props);
|
|
|
|
|
|
|
|
expect(shouldUpdate).toBe(false);
|
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("re-render test by value", () => {
|
2019-12-05 07:24:32 +00:00
|
|
|
const onChange = jest.fn();
|
2019-09-17 11:07:35 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
const wrapper = shallow(
|
|
|
|
<TextInput value="text" onChange={onChange} />
|
|
|
|
).instance();
|
2019-09-17 11:07:35 +00:00
|
|
|
|
|
|
|
const shouldUpdate = wrapper.shouldComponentUpdate({
|
|
|
|
...wrapper.props,
|
2020-10-16 13:16:01 +00:00
|
|
|
value: "another text",
|
2019-09-17 11:07:35 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
expect(shouldUpdate).toBe(true);
|
|
|
|
});
|
2019-12-03 13:33:50 +00:00
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts id", () => {
|
2019-12-03 13:33:50 +00:00
|
|
|
const wrapper = mount(
|
2019-12-05 07:24:32 +00:00
|
|
|
<TextInput value="text" onChange={jest.fn()} id="testId" />
|
2019-12-03 13:33:50 +00:00
|
|
|
);
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("id")).toEqual("testId");
|
2019-12-03 13:33:50 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts className", () => {
|
2019-12-03 13:33:50 +00:00
|
|
|
const wrapper = mount(
|
2019-12-05 07:24:32 +00:00
|
|
|
<TextInput value="text" onChange={jest.fn()} className="test" />
|
2019-12-03 13:33:50 +00:00
|
|
|
);
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.prop("className")).toEqual("test");
|
2019-12-03 13:33:50 +00:00
|
|
|
});
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
it("accepts style", () => {
|
2019-12-03 13:33:50 +00:00
|
|
|
const wrapper = mount(
|
2020-10-16 13:16:01 +00:00
|
|
|
<TextInput value="text" onChange={jest.fn()} style={{ color: "red" }} />
|
2019-12-03 13:33:50 +00:00
|
|
|
);
|
|
|
|
|
2020-10-16 13:16:01 +00:00
|
|
|
expect(wrapper.getDOMNode().style).toHaveProperty("color", "red");
|
2019-12-03 13:33:50 +00:00
|
|
|
});
|
2019-09-08 16:19:17 +00:00
|
|
|
});
|