From 0ae246ab30e407763fbaf3ba8bb107dfea8ac253 Mon Sep 17 00:00:00 2001 From: Justin Bay Date: Thu, 2 Feb 2017 19:14:32 -0500 Subject: [PATCH] Enzyme: .filter(selector) returns `this` add strongly typed prop selector for filter --- enzyme/enzyme-tests.tsx | 8 ++++---- enzyme/index.d.ts | 14 ++++++-------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/enzyme/enzyme-tests.tsx b/enzyme/enzyme-tests.tsx index 120365eab4..82a8dc9822 100644 --- a/enzyme/enzyme-tests.tsx +++ b/enzyme/enzyme-tests.tsx @@ -60,8 +60,8 @@ namespace ShallowWrapperTest { function test_filter() { shallowWrapper = shallowWrapper.filter(MyComponent); - statelessWrapper = shallowWrapper.filter(MyStatelessComponent); - shallowWrapper = shallowWrapper.filter({ prop: 'value' }); + statelessWrapper = statelessWrapper.filter(MyStatelessComponent); + shallowWrapper = shallowWrapper.filter({ numberProp: 12 }); elementWrapper = shallowWrapper.filter('.selector'); } @@ -384,8 +384,8 @@ namespace ReactWrapperTest { function test_filter() { reactWrapper = reactWrapper.filter(MyComponent); - statelessWrapper = reactWrapper.filter(MyStatelessComponent); - reactWrapper = reactWrapper.filter({ prop: 'myprop' }); + statelessWrapper = statelessWrapper.filter(MyStatelessComponent); + reactWrapper = reactWrapper.filter({ numberProp: 12 }); elementWrapper = reactWrapper.filter('.selector'); } diff --git a/enzyme/index.d.ts b/enzyme/index.d.ts index 7559985e21..b939fd46d9 100644 --- a/enzyme/index.d.ts +++ b/enzyme/index.d.ts @@ -352,10 +352,9 @@ export interface ShallowWrapper extends CommonWrapper { * Removes nodes in the current wrapper that do not match the provided selector. * @param selector The selector to match. */ - filter(component: ComponentClass): ShallowWrapper; - filter(statelessComponent: StatelessComponent): ShallowWrapper; - filter(props: EnzymePropSelector): ShallowWrapper; - filter(selector: string): ShallowWrapper; + filter(component: ComponentClass | StatelessComponent): this; + filter(props: Partial

): this; + filter(selector: string): this; /** * Finds every node in the render tree that returns true for the provided predicate function. @@ -459,10 +458,9 @@ export interface ReactWrapper extends CommonWrapper { * Removes nodes in the current wrapper that do not match the provided selector. * @param selector The selector to match. */ - filter(component: ComponentClass): ReactWrapper; - filter(statelessComponent: StatelessComponent): ReactWrapper; - filter(props: EnzymePropSelector): ReactWrapper; - filter(selector: string): ReactWrapper; + filter(component: ComponentClass | StatelessComponent): this; + filter(props: Partial

): this; + filter(selector: string): this; /** * Returns a new wrapper with all of the children of the node(s) in the current wrapper. Optionally, a selector