Skip to content

Commit

Permalink
[tests] assertLog before act in ReactCompositeComponentState
Browse files Browse the repository at this point in the history
  • Loading branch information
rickhanlonii committed Apr 5, 2024
1 parent a5aedd1 commit 8e338ea
Showing 1 changed file with 29 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -152,21 +152,6 @@ describe('ReactCompositeComponent-state', () => {
root.render(<TestComponent />);
});

await act(() => {
root.render(<TestComponent nextColor="green" />);
});

await act(() => {
testComponentInstance.setFavoriteColor('blue');
});
await act(() => {
testComponentInstance.forceUpdate(
testComponentInstance.peekAtCallback('forceUpdate'),
);
});

root.unmount();

assertLog([
// there is no state when getInitialState() is called
'getInitialState undefined',
Expand Down Expand Up @@ -198,6 +183,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState orange',
'setState-yellow yellow',
'commit yellow',
]);

await act(() => {
root.render(<TestComponent nextColor="green" />);
});

assertLog([
'componentWillReceiveProps-start yellow',
// setState({color:'green'}) only enqueues a pending state.
'componentWillReceiveProps-end yellow',
Expand All @@ -216,6 +208,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState yellow',
'setState-receiveProps green',
'commit green',
]);

await act(() => {
testComponentInstance.setFavoriteColor('blue');
});

assertLog([
// setFavoriteColor('blue')
'shouldComponentUpdate-currentState green',
'shouldComponentUpdate-nextState blue',
Expand All @@ -226,6 +225,13 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState green',
'setFavoriteColor blue',
'commit blue',
]);
await act(() => {
testComponentInstance.forceUpdate(
testComponentInstance.peekAtCallback('forceUpdate'),
);
});
assertLog([
// forceUpdate()
'componentWillUpdate-currentState blue',
'componentWillUpdate-nextState blue',
Expand All @@ -234,7 +240,12 @@ describe('ReactCompositeComponent-state', () => {
'componentDidUpdate-prevState blue',
'forceUpdate blue',
'commit blue',
// unmountComponent()
]);

root.unmount();

assertLog([
// unmount()
// state is available within `componentWillUnmount()`
'componentWillUnmount blue',
]);
Expand Down Expand Up @@ -375,13 +386,13 @@ describe('ReactCompositeComponent-state', () => {
await act(() => {
root.render(<Parent />);
});

assertLog(['parent render one', 'child render one']);
await act(() => {
root.render(<Parent />);
});

assertLog([
'parent render one',
'child render one',
'parent render one',
'child componentWillReceiveProps one',
'child componentWillReceiveProps done one',
Expand Down

0 comments on commit 8e338ea

Please sign in to comment.