Skip to content

Commit d17cb38

Browse files
committed
test(jest): snapshot after act flush so trees are not null
1 parent 1514dc2 commit d17cb38

14 files changed

Lines changed: 167 additions & 25 deletions

packages/react-dropdown-select/__tests__/components/Clear.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ describe('<Clear/> component', () => {
2929
});
3030

3131
it('<Clear/> renders correctly', () => {
32-
let tree;
32+
let renderer;
3333
TestRenderer.act(() => {
34-
tree = TestRenderer.create(<Clear {...props()} />).toJSON();
34+
renderer = TestRenderer.create(<Clear {...props()} />);
3535
});
36+
const tree = renderer.toJSON();
3637

3738
expect(tree).toMatchSnapshot();
3839
});

packages/react-dropdown-select/__tests__/components/Content.spec.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,12 @@ describe('<Content/> component', () => {
4545
});
4646

4747
it('<Content/> renders correctly', () => {
48-
const tree = TestRenderer.create(<Content {...props()} />).toJSON();
48+
let tree;
49+
TestRenderer.act(() => {
50+
tree = TestRenderer.create(<Content {...props()} />);
51+
});
4952

50-
expect(tree).toMatchSnapshot();
53+
expect(tree.toJSON()).toMatchSnapshot();
5154
});
5255

5356
it('onClick opens dropdown', () => {

packages/react-dropdown-select/__tests__/components/Dropdown.spec.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ const props = {
2626
};
2727

2828
it('<Dropdown/> renders correctly', () => {
29-
const tree = renderer.create(<Dropdown {...props} />).toJSON();
29+
let tree;
30+
renderer.act(() => {
31+
tree = renderer.create(<Dropdown {...props} />);
32+
});
3033

31-
expect(tree).toMatchSnapshot();
34+
expect(tree.toJSON()).toMatchSnapshot();
3235
});

packages/react-dropdown-select/__tests__/components/Item.spec.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,11 @@ describe('<Item/> component', () => {
2828
});
2929

3030
test('renders correctly', () => {
31-
let tree;
31+
let renderer;
3232
TestRenderer.act(() => {
33-
tree = TestRenderer.create(<Item {...props({ item: options[0] })} />).toJSON();
33+
renderer = TestRenderer.create(<Item {...props({ item: options[0] })} />);
3434
});
35+
const tree = renderer.toJSON();
3536

3637
expect(tree).toMatchSnapshot();
3738
});
@@ -93,12 +94,13 @@ describe('<Item/> component', () => {
9394
});
9495

9596
test('pass item renderer', () => {
96-
let tree;
97+
let renderer;
9798
TestRenderer.act(() => {
98-
tree = TestRenderer.create(
99+
renderer = TestRenderer.create(
99100
<Item {...props({ item: options[0], itemRenderer: () => <div>item</div> })} />,
100-
).toJSON();
101+
);
101102
});
103+
const tree = renderer.toJSON();
102104

103105
expect(tree).toMatchSnapshot();
104106
});

packages/react-dropdown-select/__tests__/components/Loading.spec.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ const props = {
1313
};
1414

1515
it('<Loading/> renders correctly', () => {
16-
const tree = renderer.create(<Loading {...props} />).toJSON();
16+
let tree;
17+
renderer.act(() => {
18+
tree = renderer.create(<Loading {...props} />);
19+
});
1720

18-
expect(tree).toMatchSnapshot();
21+
expect(tree.toJSON()).toMatchSnapshot();
1922
});

packages/react-dropdown-select/__tests__/components/Option.spec.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@ describe('<Option/> component', () => {
3535
});
3636

3737
it('renders correctly', () => {
38-
let tree;
38+
let renderer;
3939
TestRenderer.act(() => {
40-
tree = TestRenderer.create(<Option {...props({ item: options[0] })} />).toJSON();
40+
renderer = TestRenderer.create(<Option {...props({ item: options[0] })} />);
4141
});
42+
const tree = renderer.toJSON();
4243

4344
expect(tree).toMatchSnapshot();
4445
});

packages/react-dropdown-select/__tests__/components/Separator.spec.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ const props = {
1313
};
1414

1515
it('<Separator/> renders correctly', () => {
16-
const tree = renderer.create(<Separator {...props} />).toJSON();
16+
let tree;
17+
renderer.act(() => {
18+
tree = renderer.create(<Separator {...props} />);
19+
});
1720

18-
expect(tree).toMatchSnapshot();
21+
expect(tree.toJSON()).toMatchSnapshot();
1922
});
Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`<Clear/> component <Clear/> renders correctly 1`] = `null`;
3+
exports[`<Clear/> component <Clear/> renders correctly 1`] = `
4+
<div
5+
className="react-dropdown-select-clear"
6+
onClick={[Function]}
7+
onKeyDown={[Function]}
8+
tabIndex={-1}
9+
>
10+
×
11+
</div>
12+
`;
Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`<Content/> component <Content/> renders correctly 1`] = `null`;
3+
exports[`<Content/> component <Content/> renders correctly 1`] = `
4+
<div
5+
className="react-dropdown-select-content react-dropdown-select-type-multi"
6+
onClick={[Function]}
7+
>
8+
<span
9+
className="react-dropdown-select-option"
10+
role="listitem"
11+
>
12+
<span
13+
className="react-dropdown-select-option-label"
14+
>
15+
Leanne Graham
16+
</span>
17+
<span
18+
className="react-dropdown-select-option-remove"
19+
onClick={[Function]}
20+
>
21+
×
22+
</span>
23+
</span>
24+
<input
25+
className="react-dropdown-select-input react-dropdown-select-input-readonly"
26+
onBlur={[Function]}
27+
onClick={[Function]}
28+
onFocus={[Function]}
29+
onKeyDown={[Function]}
30+
placeholder=""
31+
readOnly={true}
32+
ref={
33+
{
34+
"current": null,
35+
}
36+
}
37+
style={
38+
{
39+
"--input-size": undefined,
40+
}
41+
}
42+
tabIndex={-1}
43+
value=""
44+
/>
45+
</div>
46+
`;
Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3-
exports[`<Dropdown/> renders correctly 1`] = `null`;
3+
exports[`<Dropdown/> renders correctly 1`] = `
4+
<div
5+
aria-expanded="true"
6+
className="react-dropdown-select-dropdown react-dropdown-select-dropdown-bottom "
7+
role="list"
8+
style={
9+
{
10+
"--dropdown-height": "300px",
11+
"--dropdown-offset": "NaNpx",
12+
"--select-color": undefined,
13+
"--select-color-hover": undefined,
14+
"left": -1,
15+
"width": undefined,
16+
}
17+
}
18+
tabIndex={-1}
19+
>
20+
<div
21+
className="react-dropdown-select-no-data"
22+
/>
23+
</div>
24+
`;

0 commit comments

Comments
 (0)