Skip to content

Commit 44c9f52

Browse files
authored
Dialog.driver - improve API (#3157)
1 parent 8d85dc3 commit 44c9f52

File tree

3 files changed

+31
-17
lines changed

3 files changed

+31
-17
lines changed

src/components/picker/Picker.driver.new.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ export const PickerDriver = (props: ComponentProps) => {
4343
};
4444

4545
const isOpen = (): boolean => {
46-
if (dialogDriver.getModal().exists()) {
47-
return dialogDriver.getModal().isVisible();
46+
if (dialogDriver.exists()) {
47+
return dialogDriver.isVisible();
4848
}
4949
return modalDriver.exists() && modalDriver.isVisible();
5050
};
5151

5252
const dismissDialog = (): void => {
53-
if (dialogDriver.getModal().isVisible()) {
54-
dialogDriver.getModal().pressOnBackground();
53+
if (dialogDriver.isVisible()) {
54+
dialogDriver.pressOnBackground();
5555
}
5656
};
5757

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,22 @@
1-
import {useComponentDriver, ComponentProps} from '../../testkit/new/Component.driver';
1+
import {ComponentProps} from '../../testkit/new/Component.driver';
22
import {ModalDriver} from '../../testkit/';
33

44
export const DialogDriver = (props: ComponentProps) => {
55
const {renderTree, testID} = props;
6-
const driver = useComponentDriver(props);
6+
77
const modalDriver = ModalDriver({renderTree, testID: `${testID}.modal`});
8-
return {...driver, getModal: () => modalDriver};
8+
9+
const exists = () => {
10+
return modalDriver.exists();
11+
};
12+
13+
const isVisible = () => {
14+
return modalDriver.isVisible();
15+
};
16+
17+
const pressOnBackground = () => {
18+
modalDriver.pressOnBackground();
19+
};
20+
21+
return {isVisible, pressOnBackground, exists};
922
};

src/incubator/Dialog/__tests__/index.new.spec.tsx

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@ const getDriver = (Element: React.JSX.Element) => {
5858
describe('Incubator.Dialog sanity checks', () => {
5959
it('Should show dialog', () => {
6060
const {dialogDriver} = getDriver(<TestCase1 visible/>);
61-
expect(dialogDriver.getModal().isVisible()).toBeTruthy();
61+
expect(dialogDriver.isVisible()).toBeTruthy();
6262
});
6363

6464
it('Should dismiss dialog on background press', () => {
6565
const dismissFn = jest.fn();
6666
const {dialogDriver} = getDriver(<TestCase1 visible onDismiss={dismissFn}/>);
6767
expect(dismissFn).not.toHaveBeenCalled();
68-
expect(dialogDriver.getModal().isVisible()).toBeTruthy();
69-
dialogDriver.getModal().pressOnBackground();
70-
expect(dialogDriver.getModal().isVisible()).toBeFalsy();
68+
expect(dialogDriver.isVisible()).toBeTruthy();
69+
dialogDriver.pressOnBackground();
70+
expect(dialogDriver.isVisible()).toBeFalsy();
7171
expect(dismissFn).toHaveBeenCalledTimes(1);
7272
});
7373

@@ -78,32 +78,33 @@ describe('Incubator.Dialog sanity checks', () => {
7878
return <Dialog testID={testID} visible ref={dialogRef}/>;
7979
};
8080
const {dialogDriver} = getDriver(<RefTestCase/>);
81-
expect(dialogDriver.getModal().isVisible()).toBeTruthy();
81+
expect(dialogDriver.isVisible()).toBeTruthy();
8282
act(() => {
8383
dialogRef.current?.dismiss();
8484
});
85-
expect(dialogDriver.getModal().isVisible()).toBeFalsy();
85+
expect(dialogDriver.isVisible()).toBeFalsy();
8686
});
8787

8888
it('Should exist only if visible', () => {
8989
const onDismiss = jest.fn();
9090
const component = <TestCase2 onDismiss={onDismiss}/>;
9191
const {dialogDriver, renderTree} = getDriver(component);
92-
expect(dialogDriver.exists()).toBeFalsy();
92+
expect(dialogDriver.isVisible()).toBeFalsy();
9393
const openButtonDriver = ButtonDriver({renderTree, testID: 'openButton'});
9494
openButtonDriver.press();
95-
expect(dialogDriver.exists()).toBeTruthy();
95+
expect(dialogDriver.isVisible()).toBeTruthy();
9696
expect(onDismiss).toHaveBeenCalledTimes(0);
9797
const closeButtonDriver = ButtonDriver({renderTree, testID: 'closeButton'});
9898
closeButtonDriver.press();
99-
expect(dialogDriver.exists()).toBeFalsy();
99+
expect(dialogDriver.isVisible()).toBeFalsy();
100100
expect(onDismiss).toHaveBeenCalledTimes(1);
101101
});
102102

103103
it('Modal exists even when not visible (WOAUILIB-3606)', () => {
104104
const onDismiss = jest.fn();
105105
const component = <TestCase2 onDismiss={onDismiss}/>;
106106
const {dialogDriver} = getDriver(component);
107-
expect(dialogDriver.getModal().exists()).toBeTruthy();
107+
expect(dialogDriver.exists()).toBeTruthy();
108+
expect(dialogDriver.isVisible()).toBeFalsy();
108109
});
109110
});

0 commit comments

Comments
 (0)