X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fe2e%2Fsrc%2Futils%2Felements.ts;h=d9435e52052305eb6782542a8b08705c9f9a9462;hb=20cea0cdc0f80455fb04bed5b17802f01d59c640;hp=9d6cfe6730da4cb6ddd7805c861cf1dba9ba0ed4;hpb=e722fb5923ddf11d72e48cec9788abc64327c22f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/e2e/src/utils/elements.ts b/client/e2e/src/utils/elements.ts index 9d6cfe673..d9435e520 100644 --- a/client/e2e/src/utils/elements.ts +++ b/client/e2e/src/utils/elements.ts @@ -5,8 +5,15 @@ async function getCheckbox (name: string) { return input.parentElement() } +function isCheckboxSelected (name: string) { + return $(`input[id=${name}]`).isSelected() +} + async function selectCustomSelect (id: string, valueLabel: string) { - await $(`[formcontrolname=${id}] .ng-arrow-wrapper`).click() + const wrapper = $(`[formcontrolname=${id}] .ng-arrow-wrapper`) + + await wrapper.waitForClickable() + await wrapper.click() const option = await $$(`[formcontrolname=${id}] .ng-option`).filter(async o => { const text = await o.getText() @@ -19,7 +26,18 @@ async function selectCustomSelect (id: string, valueLabel: string) { return option.click() } +async function findParentElement ( + el: WebdriverIO.Element, + finder: (el: WebdriverIO.Element) => Promise +) { + if (await finder(el) === true) return el + + return findParentElement(await el.parentElement(), finder) +} + export { getCheckbox, - selectCustomSelect + isCheckboxSelected, + selectCustomSelect, + findParentElement }