Skip to content

Commit

Permalink
[Refactor]: polish Suspense and Lazy in shallow/mount tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chenesan committed Jan 21, 2019
1 parent 774d023 commit 40ed6ed
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 9 deletions.
17 changes: 12 additions & 5 deletions packages/enzyme-test-suite/test/ReactWrapper-spec.jsx
Expand Up @@ -571,6 +571,13 @@ describeWithDOM('mount', () => {
);
}
}
class Fallback extends React.Component {
render() {
return (
<div>Fallback</div>
);
}
}
it('finds Suspense and its children when no lazy component', () => {
class Component extends React.Component {
render() {
Expand All @@ -580,20 +587,20 @@ describeWithDOM('mount', () => {
}
}
const SuspenseComponent = () => (
<Suspense fallback={false}>
<Suspense fallback={Fallback}>
<Component />
</Suspense>
);

const wrapper = mount(<SuspenseComponent />);

expect(wrapper.find('SuspenseComponent')).to.have.lengthOf(1);
expect(wrapper.is(SuspenseComponent)).to.equal(true);
expect(wrapper.find(Component)).to.have.lengthOf(1);
expect(wrapper.find(Fallback)).to.have.lengthOf(0);
});

it('finds fallback when given lazy component in initial mount', () => {
const LazyComponent = lazy(() => fakeDynamicImport(DynamicComponent));
const Fallback = () => <div />;
const SuspenseComponent = () => (
<Suspense fallback={<Fallback />}>
<LazyComponent />
Expand All @@ -602,9 +609,9 @@ describeWithDOM('mount', () => {

const wrapper = mount(<SuspenseComponent />);

expect(wrapper.find('SuspenseComponent')).to.have.lengthOf(1);
expect(wrapper.is(SuspenseComponent)).to.equal(true);
expect(wrapper.find(LazyComponent)).to.have.lengthOf(0);
expect(wrapper.find('Fallback')).to.have.lengthOf(1);
expect(wrapper.find(Fallback)).to.have.lengthOf(1);
});
});

Expand Down
15 changes: 11 additions & 4 deletions packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx
Expand Up @@ -1285,6 +1285,13 @@ describe('shallow', () => {
);
}
}
class Fallback extends React.Component {
render() {
return (
<div>Fallback</div>
);
}
}
it('finds Suspense and its children when no lazy component', () => {
class Component extends React.Component {
render() {
Expand All @@ -1294,20 +1301,20 @@ describe('shallow', () => {
}
}
const SuspenseComponent = () => (
<Suspense fallback={false}>
<Suspense fallback={<Fallback />}>
<Component />
</Suspense>
);

const wrapper = shallow(<SuspenseComponent />);

expect(wrapper.find('Suspense')).to.have.lengthOf(1);
expect(wrapper.is(Suspense)).to.equal(true);
expect(wrapper.find(Component)).to.have.lengthOf(1);
expect(wrapper.find(Fallback)).to.have.lengthOf(0)
});

it('finds Lazy when given lazy component', () => {
const LazyComponent = lazy(fakeDynamicImport(DynamicComponent));
const Fallback = () => <div />;
const SuspenseComponent = () => (
<Suspense fallback={<Fallback />}>
<LazyComponent />
Expand All @@ -1316,7 +1323,7 @@ describe('shallow', () => {

const wrapper = shallow(<SuspenseComponent />);

expect(wrapper.find('Suspense')).to.have.lengthOf(1);
expect(wrapper.is(Suspense)).to.equal(true);
expect(wrapper.find(LazyComponent)).to.have.lengthOf(1);
// won't render fallback in shallow renderer
expect(wrapper.find(Fallback)).to.have.lengthOf(0);
Expand Down

0 comments on commit 40ed6ed

Please sign in to comment.