84348047 |
import React from "react";
|
846f194d |
import Fragment from "../fragment";
|
84348047 |
import ezJson from "enzyme-to-json";
|
7f3173c3 |
import Enzyme, { shallow } from "enzyme";
|
84348047 |
import Adapter from "enzyme-adapter-react-16";
|
cb71ce92 |
Enzyme.configure({ adapter: new Adapter() });
|
30db14b1 |
it("should display when state is truthy", () => {
// given
|
84348047 |
const state = { property: true };
|
30db14b1 |
// when
|
27fb05ae |
const wrapper = shallow(
<Fragment state={state} filterOn="property">
|
30db14b1 |
<div>Hello</div>
|
27fb05ae |
</Fragment>
);
|
30db14b1 |
// then
expect(ezJson(wrapper)).toMatchSnapshot();
});
it("should not display when state is falsy", () => {
// given
|
84348047 |
const state = { property: undefined };
|
30db14b1 |
// when
|
27fb05ae |
const wrapper = shallow(
<Fragment state={state} filterOn="property">
<div>Hello</div>
</Fragment>
);
|
30db14b1 |
// then
|
cb71ce92 |
expect(ezJson(wrapper)).toBeFalsy();
|
30db14b1 |
});
it("should handle paths in the state tree", () => {
// given
|
84348047 |
const state = { property: { subproperty: true } };
|
30db14b1 |
// when
|
27fb05ae |
const wrapper = shallow(
<Fragment state={state} filterOn="property.subproperty">
<div>Hello</div>
</Fragment>
);
|
30db14b1 |
// then
expect(ezJson(wrapper)).toMatchSnapshot();
});
it("should handle arrays in the state tree", () => {
// given
|
84348047 |
const state = { property: [{ bar: {} }] };
|
30db14b1 |
// when
|
27fb05ae |
const wrapper = shallow(
<Fragment state={state} filterOn="property.0.bar">
<div>Hello</div>
</Fragment>
);
|
30db14b1 |
// then
expect(ezJson(wrapper)).toMatchSnapshot();
});
it("should be falsy if missing state tree", () => {
// given
|
84348047 |
const state = { property: { subproperty: true } };
|
30db14b1 |
|
27fb05ae |
const wrapper = shallow(
<Fragment state={state} filterOn="property.missingproperty.something">
<div>Hello</div>
</Fragment>
);
|
30db14b1 |
|
cb71ce92 |
expect(ezJson(wrapper)).toBeFalsy();
|
30db14b1 |
});
|