UNPKG

systelab-components-wdio-test

Version:
103 lines (102 loc) 4.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TwoList = void 0; const widget_js_1 = require("./widget.js"); const label_js_1 = require("./label.js"); const inputfield_js_1 = require("./inputfield.js"); const button_js_1 = require("./button.js"); const link_js_1 = require("./link.js"); class TwoList extends widget_js_1.Widget { getAvailableFieldsCaption() { return new label_js_1.Label(this.allByCSS('div > div> label').get(0)); } getVisibleFieldsCaption() { return new label_js_1.Label(this.allByCSS('div > div > label').get(1)); } getAvailableFieldsFilter() { return new inputfield_js_1.InputField(this.allByCSS('div > div> input').get(0)); } getVisibleFieldsFilter() { return new inputfield_js_1.InputField(this.allByCSS('div > div> input').get(1)); } getAvailableItemByPosition(position) { return new button_js_1.Button(this.byId('available' + (position - 1))); } getVisibleItemByPosition(position) { return new button_js_1.Button(this.byId('element' + (position - 1))); } getMoveToRightButton() { return new button_js_1.Button(this.byClassName('icon-angle-right')); } getMoveToLeftButton() { return new button_js_1.Button(this.byClassName('icon-angle-left')); } async getNumberOfAvailableItems() { return this.getAllAvailableElemItems().count(); } async getNumberOfSelectedAvailableItems() { return this.getSelectedAvailableElemItems().count(); } async getNumberOfVisibleItems() { return this.getAllVisibleElemItems().count(); } async getNumberOfSelectedVisibleItems() { return this.getSelectedVisibleElemItems().count(); } async getAllAvailableItems() { const itemList = []; const numberOfAvailableItems = await this.getNumberOfAvailableItems(); for (let position = 1; position <= numberOfAvailableItems; position++) { itemList.push(await (this.byCSS(`[id^=available${position - 1}]`)).getText()); } return itemList; } async getAllVisibleItems() { const itemList = []; const elemItems = this.getAllVisibleElemItems(); const numberOfVisibleItems = await elemItems.count(); for (let position = 1; position <= numberOfVisibleItems; position++) { itemList.push(await elemItems.get(position - 1).getText()); } return itemList; } async getSelectedAvailableItemPositions() { const positionList = []; const elemItems = this.getSelectedAvailableElemItems(); const numberOfSelectedItems = await elemItems.count(); for (let index = 0; index < numberOfSelectedItems; index++) { let positionOfSelectedItem = parseInt((await elemItems.get(index).getAttribute('id')).replace('available', '')) + 1; positionList.push(positionOfSelectedItem); } return positionList; } async getSelectedVisibleItemPositions() { const positionList = []; const elemItems = this.getSelectedVisibleElemItems(); const numberOfSelectedItems = await elemItems.count(); for (let index = 0; index < numberOfSelectedItems; index++) { let positionOfSelectedItem = parseInt((await elemItems.get(index).getAttribute('id')).replace('element', '')) + 1; positionList.push(positionOfSelectedItem); } return positionList; } getRemoveAllLink() { return new link_js_1.Link(this.byId('slab-remove-all')); } getAddAllLink() { return new link_js_1.Link(this.byId('slab-add-all')); } getAllVisibleElemItems() { return this.allByCSS('div[class~="list-group"] > div[class~="slab-sortable-list-row"]'); } getAllAvailableElemItems() { return this.allByCSS('li[id^=available]'); } getSelectedVisibleElemItems() { return this.allByCSS('div[class~="list-group"] > div[class~="slab-sortable-list-row-selected"]'); } getSelectedAvailableElemItems() { return this.allByCSS('li[class~="slab-twolistboxrowselected"]'); } } exports.TwoList = TwoList;