insomnia/packages/insomnia-smoke-test/modules/dropdown.ts
Opender Singh 5fa8f0069d
Enable ESLint & TS for smoke tests (#3397)
* remove babel and add configs

* add ts-node

* lint scripts

* eslint override

* remove type module

* add expect errors

* update js files to ts

* fix electron import

* remove errors

* update readme

* add build step

* typesync

* add eslintignore
2021-05-19 07:49:48 -04:00

26 lines
751 B
TypeScript

import findAsync from './find-async';
const findDropdownItemWithText = async (parent, text) => {
let item;
await parent.waitUntil(async () => {
const items = await parent.react$$('DropdownItem');
item = await findAsync(items, async i => (await i.getText()) === text);
return !!item;
});
return item;
};
export const clickDropdownItemByText = async (parent, text) => {
const item = await findDropdownItemWithText(parent, text);
await item.waitForDisplayed();
await item.click();
};
export const clickOpenDropdownItemByText = async (app, text) => {
const item = await app.client
.$('.dropdown__menu[aria-hidden=false]')
.then(e => e.$(`button*=${text}`));
await item.waitForDisplayed();
await item.click();
};