]>
Commit | Line | Data |
---|---|---|
1 | async function getCheckbox (name: string) { | |
2 | const input = $(`my-peertube-checkbox input[id=${name}]`) | |
3 | await input.waitForExist() | |
4 | ||
5 | return input.parentElement() | |
6 | } | |
7 | ||
8 | function isCheckboxSelected (name: string) { | |
9 | return $(`input[id=${name}]`).isSelected() | |
10 | } | |
11 | ||
12 | async function selectCustomSelect (id: string, valueLabel: string) { | |
13 | const wrapper = $(`[formcontrolname=${id}] .ng-arrow-wrapper`) | |
14 | ||
15 | await wrapper.waitForClickable() | |
16 | await wrapper.click() | |
17 | ||
18 | const option = await $$(`[formcontrolname=${id}] .ng-option`).filter(async o => { | |
19 | const text = await o.getText() | |
20 | ||
21 | return text.trimStart().startsWith(valueLabel) | |
22 | }).then(options => options[0]) | |
23 | ||
24 | await option.waitForDisplayed() | |
25 | ||
26 | return option.click() | |
27 | } | |
28 | ||
29 | async function findParentElement ( | |
30 | el: WebdriverIO.Element, | |
31 | finder: (el: WebdriverIO.Element) => Promise<boolean> | |
32 | ) { | |
33 | if (await finder(el) === true) return el | |
34 | ||
35 | return findParentElement(await el.parentElement(), finder) | |
36 | } | |
37 | ||
38 | export { | |
39 | getCheckbox, | |
40 | isCheckboxSelected, | |
41 | selectCustomSelect, | |
42 | findParentElement | |
43 | } |