This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
authentik/tests/wdio/lib/idiom.js
Ken Sternberg 3b4530fb7f web: Revised navigation
After working with the navigation for awhile, I realized that it's a poor map; what I really wanted was
a controller/view pair, where events flow up to the controller and then messages on "what to draw" flow
down to the view.  It work quite well, and the wizard frame is smaller and smarter for it.

I've also moved the WDIO-driven tests into the 'tests' folder, because it (a) makes more sense to put
them there, and (b) it prevents any confusion about who's in charge of node_modules.
2023-09-01 14:59:46 -07:00

52 lines
1.1 KiB
JavaScript

"use strict";
const CLICK_TIME_DELAY = 250;
async function text(selector, value) {
const input = await $(selector);
return await input.setValue(value);
}
async function button(selector) {
const button = await $(selector);
return await button.click();
}
async function search(searchSelector, buttonSelector) {
const inputBind = await $(searchSelector);
await inputBind.click();
const searchBlock = await $('>>>div[data-managed-by="ak-search-select"]');
const target = searchBlock.$(buttonSelector);
return await target.click();
}
async function pause(selector) {
if (selector) {
return await $(selector).waitForDisplayed();
}
return await browser.pause(CLICK_TIME_DELAY);
}
async function waitfor(selector) {
return await $(selector).waitForDisplayed();
}
async function deletebox(selector) {
return await $(selector)
.parentElement()
.parentElement()
.$(".pf-c-table__check")
.$('input[type="checkbox"]')
.click();
}
exports.$AkSel = {
button,
pause,
search,
text,
waitfor,
deletebox,
};