Skip to content

Commit 6a1cd36

Browse files
author
EBAM006
committed
fix: handle case when using configure only with defaultHidden option
1 parent 9835e77 commit 6a1cd36

File tree

3 files changed

+32
-3
lines changed

3 files changed

+32
-3
lines changed

src/config.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ const defaultConfig: Config = {
2626
let config = { ...defaultConfig };
2727

2828
export function configure(options: Partial<Config>) {
29+
if (
30+
options.defaultHidden !== undefined &&
31+
options.defaultIncludeHiddenElements === undefined
32+
) {
33+
options.defaultIncludeHiddenElements = options.defaultHidden;
34+
}
35+
36+
if (
37+
options.defaultIncludeHiddenElements !== undefined &&
38+
options.defaultHidden === undefined
39+
) {
40+
options.defaultHidden = options.defaultIncludeHiddenElements;
41+
}
42+
2943
config = {
3044
...config,
3145
...options,

src/helpers/__tests__/includeHiddenElements.test.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import React from 'react';
33

44
import render from '../../render';
55
import { screen } from '../../screen';
6-
import { configure } from '../../config';
6+
import { configure, getConfig } from '../../config';
77

88
test('includeHiddenElements query option takes priority over hidden option and global config', () => {
99
configure({ defaultHidden: true, defaultIncludeHiddenElements: true });
@@ -24,3 +24,19 @@ test('global config defaultIncludeElements option takes priority over defaultHid
2424
render(<View testID="view" style={{ display: 'none' }} />);
2525
expect(screen.getByTestId('view')).toBeTruthy();
2626
});
27+
28+
test('defaultHidden takes priority when it was set last', () => {
29+
// also simulates the case when defaultIncludeHiddenElements is true by default in the config
30+
configure({ defaultIncludeHiddenElements: true });
31+
configure({ defaultHidden: false });
32+
render(<View testID="view" style={{ display: 'none' }} />);
33+
expect(screen.queryByTestId('view')).toBeFalsy();
34+
});
35+
36+
test('defaultIncludeHiddenElements takes priority when it was set last', () => {
37+
// also simulates the case when defaultHidden is true by default in the config
38+
configure({ defaultHidden: true });
39+
configure({ defaultIncludeHiddenElements: false });
40+
render(<View testID="view" style={{ display: 'none' }} />);
41+
expect(screen.queryByTestId('view')).toBeFalsy();
42+
});

src/helpers/findAll.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ export function findAll(
1717
const hidden =
1818
options?.includeHiddenElements ??
1919
options?.hidden ??
20-
getConfig()?.defaultIncludeHiddenElements ??
21-
getConfig()?.defaultHidden;
20+
getConfig()?.defaultIncludeHiddenElements;
2221

2322
if (hidden) {
2423
return results;

0 commit comments

Comments
 (0)