Various code fixes (#1704)

* fix typings and missing lib

* fix i18n typo, add typings

* code improvements

* fix missing awaits

* more fixes

* fix bug in the evaluators, simplify code

* more fixes
This commit is contained in:
Denys Vuika
2020-10-04 18:09:27 +01:00
committed by GitHub
parent bf11489e0f
commit 9c7ac17161
46 changed files with 133 additions and 142 deletions

View File

@@ -34,11 +34,10 @@ export class Breadcrumb extends Component {
}
async getAllItems(): Promise<string[]> {
const items: string[] = await this.items.map(async (elem) => {
return this.items.map(async (elem) => {
const str = await elem.getText();
return str.split('\nchevron_right')[0];
});
return items;
}
async clickItem(name: string): Promise<void> {

View File

@@ -23,7 +23,7 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { by, browser } from 'protractor';
import { browser, by } from 'protractor';
import { Component } from '../component';
import { waitForPresence, waitForStaleness } from '../../utilities/utils';
@@ -57,9 +57,8 @@ export class DropDownBreadcrumb extends Component {
}
async getPathItems(): Promise<string[]> {
const items: string[] = await this.pathItems.map(async (elem) => {
return this.pathItems.map(async (elem) => {
return elem.getText();
});
return items;
}
}

View File

@@ -45,7 +45,7 @@ export abstract class Component {
return root.all(by.css(css));
}
constructor(selector: string, ancestor?: string) {
protected constructor(selector: string, ancestor?: string) {
const locator = selector;
this.component = ancestor ? browser.$$(ancestor).first().$$(locator).first() : browser.$$(locator).first();

View File

@@ -23,12 +23,12 @@
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
*/
import { ElementFinder, ElementArrayFinder, by, browser, protractor } from 'protractor';
import { browser, by, ElementArrayFinder, ElementFinder, protractor } from 'protractor';
import { Logger } from '@alfresco/adf-testing';
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
import { Component } from '../component';
import { Menu } from '../menu/menu';
import { Utils, waitForPresence, waitForClickable } from '../../utilities/utils';
import { Utils, waitForClickable, waitForPresence } from '../../utilities/utils';
export class DataTable extends Component {
private static selectors = {
@@ -146,10 +146,9 @@ export class DataTable extends Component {
}
async getSelectedRowsNames(): Promise<string[]> {
const rowsText: string[] = await this.getSelectedRows().map((row) => {
return this.getSelectedRows().map((row) => {
return row.element(by.css('.adf-datatable-cell[title="Name"]')).getText();
});
return rowsText;
}
async getSelectedRowsCount(): Promise<number> {
@@ -358,10 +357,9 @@ export class DataTable extends Component {
async getCellsContainingName(name: string): Promise<string[]> {
const rows = this.getRows().all(by.cssContainingText(DataTable.selectors.cell, name));
const cellsText: string[] = await rows.map(async (cell) => {
return rows.map(async (cell) => {
return cell.getText();
});
return cellsText;
}
async hasContextMenu(): Promise<boolean> {
@@ -378,12 +376,11 @@ export class DataTable extends Component {
}
private async getEntireDataTableText(): Promise<string[]> {
const text: string[] = await this.getRows().map((row) => {
return this.getRows().map((row) => {
return row.all(by.css(DataTable.selectors.cell)).map(async (cell) => {
return cell.getText();
});
});
return text;
}
async getSitesNameAndVisibility(): Promise<any> {

View File

@@ -27,7 +27,7 @@ import { ElementFinder, by, browser, Locator } from 'protractor';
import { isPresentAndDisplayed, waitForPresence, waitForVisibility, waitForStaleness } from '../../utilities/utils';
export abstract class GenericDialog {
constructor(private rootCssSelector?: string) {}
protected constructor(private rootCssSelector?: string) {}
get rootElem(): ElementFinder {
return browser.element(by.css(this.rootCssSelector));

View File

@@ -117,11 +117,10 @@ export class Menu extends Component {
}
async getMenuItems(): Promise<string[]> {
const items: string[] = await this.items.map(async (elem) => {
return this.items.map(async (elem) => {
const span = elem.element(by.css('span'));
return span.getText();
});
return items;
}
async clickNthItem(nth: number): Promise<void> {
@@ -194,8 +193,7 @@ export class Menu extends Component {
async isMenuItemDisabled(title: string): Promise<string | null> {
try {
const item = this.getItemByLabel(title);
const disabled = await item.getAttribute('disabled');
return disabled;
return await item.getAttribute('disabled');
} catch (error) {
Logger.error('----- isMenuItemDisabled catch: ', error);
return null;

View File

@@ -79,8 +79,7 @@ export class CreatedDateFilter extends GenericFilterPanel {
async getFromValue(): Promise<string> {
try {
const value = await this.fromInput.getAttribute('value');
return value;
return await this.fromInput.getAttribute('value');
} catch (error) {
return '';
}
@@ -88,8 +87,7 @@ export class CreatedDateFilter extends GenericFilterPanel {
async getFromError(): Promise<string> {
try {
const error = await this.fromFieldError.getText();
return error;
return await this.fromFieldError.getText();
} catch (err) {
return '';
}
@@ -97,8 +95,7 @@ export class CreatedDateFilter extends GenericFilterPanel {
async getToValue(): Promise<string> {
try {
const value = await this.toInput.getAttribute('value');
return value;
return await this.toInput.getAttribute('value');
} catch (err) {
return '';
}
@@ -106,8 +103,7 @@ export class CreatedDateFilter extends GenericFilterPanel {
async getToError(): Promise<string> {
try {
const error = await this.toFieldError.getText();
return error;
return await this.toFieldError.getText();
} catch (err) {
return '';
}

View File

@@ -52,17 +52,15 @@ export class FacetFilter extends GenericFilterPanel {
}
async getFiltersValues(): Promise<string[]> {
const list: string[] = await this.facets.map((option) => {
return this.facets.map((option) => {
return option.getText();
});
return list;
}
async getFiltersCheckedValues(): Promise<string[]> {
const list: string[] = await this.selectedFacets.map((option) => {
return this.selectedFacets.map((option) => {
return option.getText();
});
return list;
}
async resetPanel(): Promise<void> {

View File

@@ -36,17 +36,15 @@ export class SizeFilter extends GenericFilterPanel {
clearButton: ElementFinder = this.panel.element(by.cssContainingText('.adf-facet-buttons button', 'Clear all'));
async getFiltersValues(): Promise<string[]> {
const list: string[] = await this.facets.map((option) => {
return this.facets.map((option) => {
return option.getText();
});
return list;
}
async getFiltersCheckedValues(): Promise<string[]> {
const list: string[] = await this.selectedFacets.map((option) => {
return this.selectedFacets.map((option) => {
return option.getText();
});
return list;
}
async resetPanel(): Promise<void> {

View File

@@ -78,10 +78,9 @@ export class SearchSortingPicker extends Component {
}
async getSortByOptionsList(): Promise<string[]> {
const list: string[] = await this.sortByList.map(async (option) => {
return this.sortByList.map(async (option) => {
return option.getText();
});
return list;
}
async sortBy(option: SortByType): Promise<void> {

View File

@@ -46,10 +46,9 @@ export class SearchResultsPage extends BrowsingPage {
async getResultsChipsValues(): Promise<string[]> {
const chips = this.chipList.all(by.css('.mat-chip'));
const chipsValues: string[] = await chips.map(async (elem) => {
return chips.map(async (elem) => {
return (await elem.getText()).replace(`\ncancel`, '');
});
return chipsValues;
}
async removeChip(chipName: string): Promise<void> {

View File

@@ -128,7 +128,7 @@ export class FavoritesApi extends RepoApi {
}
async isFavoriteWithRetry(nodeId: string, data: { expect: boolean }) {
let isFavorite: boolean;
let isFavorite = false;
try {
const favorite = async () => {
isFavorite = await this.isFavorite(nodeId);

View File

@@ -49,8 +49,7 @@ export class NodesApi extends RepoApi {
async getNodeById(id: string): Promise<NodeEntry | null> {
try {
await this.apiAuth();
const node = await this.nodesApi.getNode(id);
return node;
return await this.nodesApi.getNode(id);
} catch (error) {
this.handleError(`${this.constructor.name} ${this.getNodeById.name}`, error);
return null;
@@ -525,7 +524,7 @@ export class NodesApi extends RepoApi {
expect: expect,
retry: 5
};
let isLocked: boolean;
let isLocked = false;
try {
const locked = async () => {
isLocked = (await this.getLockType(nodeId)) === 'WRITE_LOCK';

View File

@@ -30,7 +30,7 @@ import { Logger } from '@alfresco/adf-testing';
export abstract class RepoApi {
alfrescoJsApi = new AlfrescoApi();
constructor(private username: string = browser.params.ADMIN_USERNAME, private password: string = browser.params.ADMIN_PASSWORD) {
protected constructor(private username: string = browser.params.ADMIN_USERNAME, private password: string = browser.params.ADMIN_PASSWORD) {
this.alfrescoJsApi.setConfig(browser.params.config);
}