From 21bb66a8c7d96a5af7176a766fc59ddcb30ba676 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Fri, 7 Jun 2019 14:06:08 -0700 Subject: [PATCH] Added HOC filter test --- .../storeComponentFilters-test.js.snap | 20 +++++++++++ src/__tests__/storeComponentFilters-test.js | 19 +++++++++++ src/__tests__/utils.js | 33 ++++++++++++------- 3 files changed, 60 insertions(+), 12 deletions(-) diff --git a/src/__tests__/__snapshots__/storeComponentFilters-test.js.snap b/src/__tests__/__snapshots__/storeComponentFilters-test.js.snap index 86dbf043da..9ef1940eb8 100644 --- a/src/__tests__/__snapshots__/storeComponentFilters-test.js.snap +++ b/src/__tests__/__snapshots__/storeComponentFilters-test.js.snap @@ -1,5 +1,25 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`Store component filters should filter HOCs: 1: mount 1`] = ` +[root] + ▾ + ▾ +
+`; + +exports[`Store component filters should filter HOCs: 2: hide all HOCs 1`] = ` +[root] + ▾ +
+`; + +exports[`Store component filters should filter HOCs: 3: disable HOC filter 1`] = ` +[root] + ▾ + ▾ +
+`; + exports[`Store component filters should filter by display name: 1: mount 1`] = ` [root] ▾ diff --git a/src/__tests__/storeComponentFilters-test.js b/src/__tests__/storeComponentFilters-test.js index dff169e924..3937633416 100644 --- a/src/__tests__/storeComponentFilters-test.js +++ b/src/__tests__/storeComponentFilters-test.js @@ -167,4 +167,23 @@ describe('Store component filters', () => { expect(store).toMatchSnapshot('3: hide components in a made up fake path'); }); + + it('should filter HOCs', () => { + const Component = () =>
Hi
; + const WrappedComponent = () => ; + WrappedComponent.displayName = 'withWrapper(Component)'; + + act(() => + ReactDOM.render(, document.createElement('div')) + ); + expect(store).toMatchSnapshot('1: mount'); + + act(() => (store.componentFilters = [utils.createHOCFilter(true)])); + + expect(store).toMatchSnapshot('2: hide all HOCs'); + + act(() => (store.componentFilters = [utils.createHOCFilter(false)])); + + expect(store).toMatchSnapshot('3: disable HOC filter'); + }); }); diff --git a/src/__tests__/utils.js b/src/__tests__/utils.js index 061a307e7f..57fb2de3d3 100644 --- a/src/__tests__/utils.js +++ b/src/__tests__/utils.js @@ -60,18 +60,6 @@ export function beforeEachProfiling(): void { ); } -export function createElementTypeFilter( - elementType: ElementType, - isEnabled: boolean = true -) { - const Types = require('src/types'); - return { - type: Types.ComponentFilterElementType, - isEnabled, - value: elementType, - }; -} - export function createDisplayNameFilter( source: string, isEnabled: boolean = true @@ -91,6 +79,27 @@ export function createDisplayNameFilter( }; } +export function createHOCFilter(isEnabled: boolean = true) { + const Types = require('src/types'); + return { + type: Types.ComponentFilterHOC, + isEnabled, + isValid: true, + }; +} + +export function createElementTypeFilter( + elementType: ElementType, + isEnabled: boolean = true +) { + const Types = require('src/types'); + return { + type: Types.ComponentFilterElementType, + isEnabled, + value: elementType, + }; +} + export function createLocationFilter( source: string, isEnabled: boolean = true