Skip to content

Commit

Permalink
[Tests] add test cases for finding forwardRefs by display name
Browse files Browse the repository at this point in the history
Closes #1896.
  • Loading branch information
ljharb committed Nov 12, 2018
1 parent f6f097f commit d71ba69
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
39 changes: 39 additions & 0 deletions packages/enzyme-test-suite/test/ReactWrapper-spec.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -1487,6 +1487,45 @@ describeWithDOM('mount', () => {

expect(containerDiv.querySelectorAll('h1')).to.have.lengthOf(1);
});

describeIf(is('>= 16.3'), 'forwardRef', () => {
it('finds forwardRefs', () => {
const Component = forwardRef(() => <div />);
class Foo extends React.Component {
render() {
return (
<div>
<Component />
<Component />
</div>
);
}
}

const wrapper = mount(<Foo />);
expect(wrapper.find(Component)).to.have.lengthOf(2);
expect(wrapper.find('ForwardRef')).to.have.lengthOf(2);
});

it('finds forwardRef by custom display name', () => {
const Component = forwardRef(() => <div />);
Component.displayName = 'CustomForwardRef';
class Foo extends React.Component {
render() {
return (
<div>
<Component />
<Component />
</div>
);
}
}

const wrapper = mount(<Foo />);
expect(wrapper.find(Component)).to.have.lengthOf(2);
expect(wrapper.find(Component.displayName)).to.have.lengthOf(2);
});
});
});

describe('.findWhere(predicate)', () => {
Expand Down
39 changes: 39 additions & 0 deletions packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -1234,6 +1234,45 @@ describe('shallow', () => {

expect(wrapper.find('span')).to.have.lengthOf(1);
});

describeIf(is('>= 16.3'), 'forwardRef', () => {
it('finds forwardRefs', () => {
const Component = forwardRef(() => <div />);
class Foo extends React.Component {
render() {
return (
<div>
<Component />
<Component />
</div>
);
}
}

const wrapper = shallow(<Foo />);
expect(wrapper.find(Component)).to.have.lengthOf(2);
expect(wrapper.find('ForwardRef')).to.have.lengthOf(2);
});

it('finds forwardRef by custom display name', () => {
const Component = forwardRef(() => <div />);
Component.displayName = 'CustomForwardRef';
class Foo extends React.Component {
render() {
return (
<div>
<Component />
<Component />
</div>
);
}
}

const wrapper = shallow(<Foo />);
expect(wrapper.find(Component)).to.have.lengthOf(2);
expect(wrapper.find(Component.displayName)).to.have.lengthOf(2);
});
});
});

describe('.findWhere(predicate)', () => {
Expand Down

0 comments on commit d71ba69

Please sign in to comment.