From e07ffea66cf5de567deeffde26928552d1c09903 Mon Sep 17 00:00:00 2001 From: Boris Serdiuk Date: Thu, 12 Jan 2017 15:42:25 +0100 Subject: [PATCH 1/2] add tests on broken .parent() use-case --- .../enzyme-test-suite/test/ReactWrapper-spec.jsx | 14 ++++++++++++++ .../enzyme-test-suite/test/ShallowWrapper-spec.jsx | 11 +++++++++++ 2 files changed, 25 insertions(+) diff --git a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx index 854fa074c..b697f2025 100644 --- a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx @@ -2422,6 +2422,20 @@ describeWithDOM('mount', () => { expect(parents.at(0).hasClass('foo')).to.equal(true); expect(parents.at(1).hasClass('bax')).to.equal(true); }); + + it('should work with components in the tree', () => { + const Foo = createClass({ + render() { + return
; + }, + }); + const wrapper = mount(( +
+ +
+ )); + expect(wrapper.find('.bar').parents('.root')).to.have.length(1); + }); }); describe('.parent()', () => { diff --git a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx index 4569cc38e..95ba7f066 100644 --- a/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ShallowWrapper-spec.jsx @@ -2282,6 +2282,17 @@ describe('shallow', () => { expect(parents.at(1).hasClass('bar')).to.equal(true); expect(parents.at(2).hasClass('bax')).to.equal(true); }); + + it('should work with component', () => { + const Foo = createClass({ + render() { + return
; + }, + }); + const wrapper = shallow(); + expect(wrapper.find('.bar')).to.have.length(1); + expect(wrapper.find('.bar').parent()).to.have.length(0); + }); }); describe('.closest(selector)', () => { From d4b2379a425233d6d0557baf931e44e22531e58d Mon Sep 17 00:00:00 2001 From: Jordan Harband Date: Tue, 17 Jan 2017 23:47:16 -0800 Subject: [PATCH 2/2] Add some more tests --- packages/enzyme-test-suite/test/ReactWrapper-spec.jsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx index b697f2025..ec4746364 100644 --- a/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx +++ b/packages/enzyme-test-suite/test/ReactWrapper-spec.jsx @@ -2434,7 +2434,14 @@ describeWithDOM('mount', () => {
)); - expect(wrapper.find('.bar').parents('.root')).to.have.length(1); + const root = wrapper.find('.root'); + expect(root).to.have.lengthOf(1); + expect(root.hasClass('root')).to.equal(true); + expect(root.hasClass('bar')).to.equal(false); + + const bar = root.find('.bar'); + expect(bar).to.have.lengthOf(1); + expect(bar.parents('.root')).to.have.lengthOf(1); }); });