From 1f2b74d5a4c075d129b91fd97e56a9bd882f082e Mon Sep 17 00:00:00 2001 From: Inbal Tish Date: Mon, 12 May 2025 08:31:21 +0300 Subject: [PATCH] Picker - test items exists (Automation gap) --- src/components/picker/Picker.driver.new.ts | 7 ++- .../picker/__tests__/index.spec.tsx | 52 +++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/components/picker/Picker.driver.new.ts b/src/components/picker/Picker.driver.new.ts index c501f08b79..db1f2d21d1 100644 --- a/src/components/picker/Picker.driver.new.ts +++ b/src/components/picker/Picker.driver.new.ts @@ -65,9 +65,11 @@ export const PickerDriver = (props: ComponentProps, useDialog: boolean) => { } }; + const itemDriver = (testID: string) => ButtonDriver({renderTree: props.renderTree, testID}); + const selectItem = (testID: string): void => { - const itemDriver = ButtonDriver({renderTree: props.renderTree, testID}); - itemDriver.press(); + const driver = itemDriver(testID); + driver.press(); }; return { @@ -78,6 +80,7 @@ export const PickerDriver = (props: ComponentProps, useDialog: boolean) => { done, isOpen, dismissDialog, + itemDriver, selectItem }; }; diff --git a/src/components/picker/__tests__/index.spec.tsx b/src/components/picker/__tests__/index.spec.tsx index 90cd39eeae..db54870f37 100644 --- a/src/components/picker/__tests__/index.spec.tsx +++ b/src/components/picker/__tests__/index.spec.tsx @@ -37,6 +37,58 @@ describe('Picker', () => { jest.clearAllMocks(); }); + describe('Items', () => { + const testItems = [{key: 'one', value: 1, label: 'One', testID: 'item_one'}, {key: 'two', value: 2, label: 'Two', testID: 'item_two'}]; + const testItemExists = (TestCase: () => React.JSX.Element) => { + const renderTree = render(); + const driver = PickerDriver({renderTree, testID}, false); + driver.open(); + const item = driver.itemDriver(testItems[0].testID); + expect(item.exists()).toBeTruthy(); + }; + + it('should render picker items when passing children', () => { + const TestCase = () => { + return ( + + + + + ); + }; + testItemExists(TestCase); + }); + + it('should render picker items when passing items', () => { + const TestCase = () => { + return ( + + ); + }; + testItemExists(TestCase); + }); + + it('should render picker items with one option when passing one child', () => { + const TestCase = () => { + return ( + + + + ); + }; + testItemExists(TestCase); + }); + + it('should render picker with one option when passing one item', () => { + const TestCase = () => { + return ( + + ); + }; + testItemExists(TestCase); + }); + }); + describe('Modal', () => { describe('Test open', () => { it('Should open when enabled', () => {