mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-05-26 17:24:45 +00:00
[ACA-1628] async await (#693)
* async / await on login component and utils * more async / awaits * remove fdescribe * expect for exact totalItems in waitForApi methods other async / awaits * pagination tests * more tries * disable selenium promise manager * try to fix shared-links tests * re-enable selenium_promise_manager and some more fixes * add target es2017 to e2e * set target to es2017 on tsconfig.spec.json * other tries * forgotten console.log * disable pagination tests * some fixes for pagination * temporary fix viewer actions tests * fix some actions tests * fix some tests for actions * fix some tests for undo action * try to fix some more tests * fixes for toolbar actions * fix NoSuchElementError for openMoreMenu * fix NoSuchElementError for rightClickOnMultipleSelection * fixes for mark as favourite * more fixes * more fixes * change order of some expects * forgot describe
This commit is contained in:
parent
0d4795bfa8
commit
7d73ae309c
@ -44,39 +44,43 @@ export class Breadcrumb extends Component {
|
|||||||
return this.items.get(nth - 1);
|
return this.items.get(nth - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getNthItemName(nth: number) {
|
async getNthItemName(nth: number) {
|
||||||
return this.getNthItem(nth).getText();
|
return await this.getNthItem(nth).getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemsCount(): promise.Promise<number> {
|
async getItemsCount() {
|
||||||
return this.items.count();
|
return await this.items.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
getAllItems() {
|
async getAllItems() {
|
||||||
return this.items.map(elem => elem.getText().then(str => str.split('\nchevron_right')[0]));
|
return this.items.map(async elem => {
|
||||||
|
const str = await elem.getText();
|
||||||
|
return str.split('\nchevron_right')[0];
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
getFirstItemName(): promise.Promise<string> {
|
async getFirstItemName() {
|
||||||
return this.items.get(0).getText();
|
return await this.items.get(0).getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentItem() {
|
getCurrentItem() {
|
||||||
return this.currentItem;
|
return this.currentItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
getCurrentItemName(): promise.Promise<string> {
|
async getCurrentItemName() {
|
||||||
return this.currentItem.getText();
|
return await this.currentItem.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickItem(name: string) {
|
async clickItem(name: string) {
|
||||||
return this.component.element(by.css(`${Breadcrumb.selectors.item}[title=${name}]`)).click();
|
const elem = this.component.element(by.css(`${Breadcrumb.selectors.item}[title=${name}]`));
|
||||||
|
await elem.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickNthItem(nth: number) {
|
async clickNthItem(nth: number) {
|
||||||
return this.getNthItem(nth).click();
|
await this.getNthItem(nth).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
getNthItemTooltip(nth: number) {
|
async getNthItemTooltip(nth: number) {
|
||||||
return this.getNthItem(nth).getAttribute('title');
|
return await this.getNthItem(nth).getAttribute('title');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, element, by, ExpectedConditions as EC, browser } from 'protractor';
|
import { ElementFinder, ExpectedConditions as EC, browser } from 'protractor';
|
||||||
import { BROWSER_WAIT_TIMEOUT } from '../configs';
|
import { BROWSER_WAIT_TIMEOUT } from '../configs';
|
||||||
|
|
||||||
export abstract class Component {
|
export abstract class Component {
|
||||||
@ -37,7 +37,7 @@ export abstract class Component {
|
|||||||
: browser.$$(locator).first();
|
: browser.$$(locator).first();
|
||||||
}
|
}
|
||||||
|
|
||||||
wait() {
|
async wait() {
|
||||||
return browser.wait(EC.presenceOf(this.component), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.presenceOf(this.component), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, ElementArrayFinder, promise, by, browser, ExpectedConditions as EC, protractor } from 'protractor';
|
import { ElementFinder, ElementArrayFinder, by, browser, ExpectedConditions as EC, protractor } from 'protractor';
|
||||||
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
import { Menu } from '../menu/menu';
|
import { Menu } from '../menu/menu';
|
||||||
@ -76,252 +76,243 @@ export class DataTable extends Component {
|
|||||||
|
|
||||||
// Wait methods (waits for elements)
|
// Wait methods (waits for elements)
|
||||||
waitForHeader() {
|
waitForHeader() {
|
||||||
|
try {
|
||||||
return browser.wait(EC.presenceOf(this.head), BROWSER_WAIT_TIMEOUT);
|
return browser.wait(EC.presenceOf(this.head), BROWSER_WAIT_TIMEOUT);
|
||||||
|
} catch (error) {
|
||||||
|
console.log('----- wait for header catch : ', error);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForEmptyState() {
|
async waitForEmptyState() {
|
||||||
return browser.wait(EC.presenceOf(this.emptyList), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.presenceOf(this.emptyList), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Header/Column methods
|
// Header/Column methods
|
||||||
getColumnHeaders(): ElementArrayFinder {
|
getColumnHeaders() {
|
||||||
const locator = by.css(DataTable.selectors.columnHeader);
|
const locator = by.css(DataTable.selectors.columnHeader);
|
||||||
return this.head.all(locator);
|
return this.head.all(locator);
|
||||||
}
|
}
|
||||||
|
|
||||||
getNthColumnHeader(nth: number): ElementFinder {
|
async getHeaderText() {
|
||||||
|
const el = this.getColumnHeaders();
|
||||||
|
return await el.getText();
|
||||||
|
}
|
||||||
|
|
||||||
|
getNthColumnHeader(nth: number) {
|
||||||
return this.getColumnHeaders().get(nth - 1);
|
return this.getColumnHeaders().get(nth - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getColumnHeaderByLabel(label: string): ElementFinder {
|
getColumnHeaderByLabel(label: string) {
|
||||||
const locator = by.cssContainingText(DataTable.selectors.columnHeader, label);
|
const locator = by.cssContainingText(DataTable.selectors.columnHeader, label);
|
||||||
return this.head.element(locator);
|
return this.head.element(locator);
|
||||||
}
|
}
|
||||||
|
|
||||||
getSortedColumnHeader(): ElementFinder {
|
getSortedColumnHeader() {
|
||||||
const locator = by.css(DataTable.selectors.sortedColumnHeader);
|
const locator = by.css(DataTable.selectors.sortedColumnHeader);
|
||||||
return this.head.element(locator);
|
return this.head.element(locator);
|
||||||
}
|
}
|
||||||
|
|
||||||
getSortingOrder() {
|
async getSortedColumnHeaderText() {
|
||||||
return this.getSortedColumnHeader()
|
return await this.getSortedColumnHeader().getText();
|
||||||
.getAttribute('class')
|
}
|
||||||
.then(str => {
|
|
||||||
|
async getSortingOrder() {
|
||||||
|
const str = await this.getSortedColumnHeader().getAttribute('class');
|
||||||
if (str.includes('asc')) {
|
if (str.includes('asc')) {
|
||||||
return 'asc';
|
return 'asc';
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
if (str.includes('desc')) {
|
if (str.includes('desc')) {
|
||||||
return 'desc';
|
return 'desc';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sortByColumn(columnName: string): promise.Promise<void> {
|
async sortByColumn(columnName: string) {
|
||||||
const column = this.getColumnHeaderByLabel(columnName);
|
const column = this.getColumnHeaderByLabel(columnName);
|
||||||
const click = browser
|
const click = browser.actions().mouseMove(column).click();
|
||||||
.actions()
|
|
||||||
.mouseMove(column)
|
|
||||||
.click();
|
|
||||||
|
|
||||||
return click.perform();
|
await click.perform();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rows methods
|
// Rows methods
|
||||||
getRows(): ElementArrayFinder {
|
getRows() {
|
||||||
return this.body.all(by.css(DataTable.selectors.row));
|
return this.body.all(by.css(DataTable.selectors.row));
|
||||||
}
|
}
|
||||||
|
|
||||||
countRows(): promise.Promise<number> {
|
async countRows() {
|
||||||
return this.getRows().count();
|
return await this.getRows().count();
|
||||||
}
|
}
|
||||||
|
|
||||||
getSelectedRows(): ElementArrayFinder {
|
getSelectedRows() {
|
||||||
return this.body.all(by.css(DataTable.selectors.selectedRow));
|
return this.body.all(by.css(DataTable.selectors.selectedRow));
|
||||||
}
|
}
|
||||||
|
|
||||||
countSelectedRows(): promise.Promise<number> {
|
async countSelectedRows() {
|
||||||
return this.getSelectedRows().count();
|
return await this.getSelectedRows().count();
|
||||||
}
|
}
|
||||||
|
|
||||||
getNthRow(nth: number): ElementFinder {
|
getNthRow(nth: number) {
|
||||||
return this.getRows().get(nth - 1);
|
return this.getRows().get(nth - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getRowByName(name: string): ElementFinder {
|
getRowByName(name: string) {
|
||||||
return this.body.element(by.cssContainingText(DataTable.selectors.row, name));
|
return this.body.element(by.cssContainingText(DataTable.selectors.row, name));
|
||||||
}
|
}
|
||||||
|
|
||||||
getRowFirstCell(name: string) {
|
getRowFirstCell(name: string) {
|
||||||
return this.getRowByName(name)
|
return this.getRowByName(name).all(by.css(DataTable.selectors.cell)).get(0);
|
||||||
.all(by.css(DataTable.selectors.cell))
|
|
||||||
.get(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getRowNameCell(name: string) {
|
getRowNameCell(name: string) {
|
||||||
return this.getRowByName(name)
|
return this.getRowByName(name).all(by.css(DataTable.selectors.cell)).get(1);
|
||||||
.all(by.css(DataTable.selectors.cell))
|
|
||||||
.get(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getRowNameCellText(name: string) {
|
getRowNameCellText(name: string) {
|
||||||
return this.getRowNameCell(name).$('span');
|
return this.getRowNameCell(name).$('span');
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemNameTooltip(name: string): promise.Promise<string> {
|
async getItemNameTooltip(name: string) {
|
||||||
return this.getRowNameCellText(name).getAttribute('title');
|
return await this.getRowNameCellText(name).getAttribute('title');
|
||||||
}
|
}
|
||||||
|
|
||||||
hasCheckMarkIcon(itemName: string) {
|
async hasCheckMarkIcon(itemName: string) {
|
||||||
return this.getRowByName(itemName)
|
return await this.getRowByName(itemName).element(by.css(DataTable.selectors.selectedIcon)).isPresent();
|
||||||
.element(by.css(DataTable.selectors.selectedIcon))
|
|
||||||
.isPresent();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getNameLink(itemName: string) {
|
getNameLink(itemName: string) {
|
||||||
return this.getRowNameCell(itemName).$(DataTable.selectors.nameLink);
|
return this.getRowNameCell(itemName).$(DataTable.selectors.nameLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
hasLinkOnName(itemName: string) {
|
async hasLinkOnName(itemName: string) {
|
||||||
return this.getNameLink(itemName).isPresent();
|
return await this.getNameLink(itemName).isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Navigation/selection methods
|
// Navigation/selection methods
|
||||||
doubleClickOnRowByName(name: string): promise.Promise<any> {
|
async doubleClickOnRowByName(name: string) {
|
||||||
const item = this.getRowFirstCell(name);
|
const item = this.getRowFirstCell(name);
|
||||||
return Utils.waitUntilElementClickable(item).then(() =>
|
await Utils.waitUntilElementClickable(item);
|
||||||
browser
|
await browser.actions().mouseMove(item).perform();
|
||||||
.actions()
|
await browser.actions().click().click().perform();
|
||||||
.mouseMove(item)
|
|
||||||
.click()
|
|
||||||
.click()
|
|
||||||
.perform()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
selectItem(name: string): promise.Promise<any> {
|
async selectItem(name: string) {
|
||||||
|
try{
|
||||||
const item = this.getRowFirstCell(name);
|
const item = this.getRowFirstCell(name);
|
||||||
return Utils.waitUntilElementClickable(item).then(() => item.click());
|
// await Utils.waitUntilElementClickable(item);
|
||||||
|
await item.click();
|
||||||
|
|
||||||
|
} catch (e) {
|
||||||
|
console.log('--- select item catch : ', e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clickNameLink(itemName: string) {
|
async clickNameLink(itemName: string) {
|
||||||
return this.getNameLink(itemName).click();
|
await this.getNameLink(itemName).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
selectMultipleItems(names: string[]): promise.Promise<void> {
|
async selectMultipleItems(names: string[]) {
|
||||||
return this.clearSelection()
|
await this.clearSelection();
|
||||||
.then(() =>
|
await browser.actions().sendKeys(protractor.Key.COMMAND).perform();
|
||||||
browser
|
for (const name of names) {
|
||||||
.actions()
|
await this.selectItem(name);
|
||||||
.sendKeys(protractor.Key.COMMAND)
|
}
|
||||||
.perform()
|
await browser.actions().sendKeys(protractor.Key.NULL).perform();
|
||||||
)
|
|
||||||
.then(() => {
|
|
||||||
names.forEach(name => {
|
|
||||||
this.selectItem(name);
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.then(() =>
|
|
||||||
browser
|
|
||||||
.actions()
|
|
||||||
.sendKeys(protractor.Key.NULL)
|
|
||||||
.perform()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
clearSelection(): promise.Promise<void> {
|
async clearSelection() {
|
||||||
return this.getSelectedRows()
|
try {
|
||||||
.count()
|
const count = await this.countSelectedRows();
|
||||||
.then(count => {
|
|
||||||
if (count !== 0) {
|
if (count !== 0) {
|
||||||
browser.refresh().then(() => this.waitForHeader());
|
await browser.refresh();
|
||||||
|
await this.waitForHeader();
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.log('------ clearSelection catch : ', error);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async rightClickOnItem(itemName: string) {
|
async rightClickOnItem(itemName: string) {
|
||||||
const item = this.getRowFirstCell(itemName);
|
const item = this.getRowFirstCell(itemName);
|
||||||
await browser
|
await browser.actions().click(item, protractor.Button.RIGHT).perform();
|
||||||
.actions()
|
|
||||||
.click(item, protractor.Button.RIGHT)
|
|
||||||
.perform();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async rightClickOnMultipleSelection() {
|
async rightClickOnMultipleSelection() {
|
||||||
|
await this.waitForHeader();
|
||||||
const itemFromSelection = this.getSelectedRows().get(0);
|
const itemFromSelection = this.getSelectedRows().get(0);
|
||||||
await browser
|
await browser.actions().click(itemFromSelection, protractor.Button.RIGHT).perform();
|
||||||
.actions()
|
|
||||||
.click(itemFromSelection, protractor.Button.RIGHT)
|
|
||||||
.perform();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemLocation(name: string) {
|
getItemLocationEl(name: string) {
|
||||||
return this.getRowByName(name).element(this.locationLink);
|
return this.getRowByName(name).element(this.locationLink);
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemLocationTooltip(name: string): promise.Promise<string> {
|
async getItemLocation(name: string) {
|
||||||
return this.getItemLocation(name)
|
return await this.getItemLocationEl(name).getText();
|
||||||
.$('a')
|
|
||||||
.getAttribute('title');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemLocationTileAttr(name: string) {
|
async getItemLocationTooltip(name: string) {
|
||||||
const location = this.getItemLocation(name).$('a');
|
return await this.getItemLocationEl(name).$('a').getAttribute('title');
|
||||||
|
}
|
||||||
|
|
||||||
|
async getItemLocationTileAttr(name: string) {
|
||||||
|
const location = this.getItemLocationEl(name).$('a');
|
||||||
const condition = () => location.getAttribute('title').then(value => value && value.length > 0);
|
const condition = () => location.getAttribute('title').then(value => value && value.length > 0);
|
||||||
|
|
||||||
browser
|
await browser.actions().mouseMove(location).perform();
|
||||||
.actions()
|
|
||||||
.mouseMove(location)
|
|
||||||
.perform();
|
|
||||||
|
|
||||||
browser.wait(condition, BROWSER_WAIT_TIMEOUT);
|
await browser.wait(condition, BROWSER_WAIT_TIMEOUT);
|
||||||
return location.getAttribute('title');
|
return await location.getAttribute('title');
|
||||||
}
|
}
|
||||||
|
|
||||||
clickItemLocation(name: string) {
|
async clickItemLocation(name: string) {
|
||||||
return this.getItemLocation(name).click();
|
await this.getItemLocationEl(name).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
// empty state methods
|
// empty state methods
|
||||||
isEmptyList(): promise.Promise<boolean> {
|
async isEmptyList() {
|
||||||
return this.emptyList.isPresent();
|
return await this.emptyList.isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
isEmptyWithDragAndDrop(): promise.Promise<boolean> {
|
async isEmptyWithDragAndDrop() {
|
||||||
return this.emptyFolderDragAndDrop.isDisplayed();
|
return await this.emptyFolderDragAndDrop.isDisplayed();
|
||||||
}
|
}
|
||||||
|
|
||||||
getEmptyDragAndDropText(): promise.Promise<string> {
|
async getEmptyDragAndDropText() {
|
||||||
return this.isEmptyWithDragAndDrop().then(() => {
|
const isEmpty = await this.isEmptyWithDragAndDrop();
|
||||||
return this.emptyFolderDragAndDrop.getText();
|
if (isEmpty) {
|
||||||
});
|
return await this.emptyFolderDragAndDrop.getText();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getEmptyStateTitle(): promise.Promise<string> {
|
async getEmptyStateTitle() {
|
||||||
return this.isEmptyList().then(() => {
|
const isEmpty = await this.isEmptyList();
|
||||||
return this.emptyListTitle.getText();
|
if (isEmpty) {
|
||||||
});
|
return await this.emptyListTitle.getText();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getEmptyStateSubtitle(): promise.Promise<string> {
|
async getEmptyStateSubtitle() {
|
||||||
return this.isEmptyList().then(() => {
|
const isEmpty = await this.isEmptyList();
|
||||||
return this.emptyListSubtitle.getText();
|
if (isEmpty) {
|
||||||
});
|
return await this.emptyListSubtitle.getText();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getEmptyStateText(): promise.Promise<string> {
|
async getEmptyStateText() {
|
||||||
return this.isEmptyList().then(() => {
|
const isEmpty = await this.isEmptyList();
|
||||||
return this.emptyListText.getText();
|
if (isEmpty) {
|
||||||
});
|
return await this.emptyListText.getText();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
getCellsContainingName(name: string) {
|
async getCellsContainingName(name: string) {
|
||||||
return this.getRows()
|
const rows = this.getRows().all(by.cssContainingText(DataTable.selectors.cell, name));
|
||||||
.all(by.cssContainingText(DataTable.selectors.cell, name))
|
return rows.map(async cell => await cell.getText());
|
||||||
.map(cell => cell.getText());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async hasContextMenu() {
|
async hasContextMenu() {
|
||||||
return (await this.menu.getItemsCount()) > 0;
|
const count = await this.menu.getItemsCount();
|
||||||
|
return count > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ export class ConfirmDialog extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async waitForDialogToClose() {
|
async waitForDialogToClose() {
|
||||||
return await browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getTitle() {
|
async getTitle() {
|
||||||
|
@ -51,58 +51,53 @@ export class CreateOrEditFolderDialog extends Component {
|
|||||||
super(CreateOrEditFolderDialog.selectors.root, ancestor);
|
super(CreateOrEditFolderDialog.selectors.root, ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForDialogToOpen() {
|
async waitForDialogToOpen() {
|
||||||
return browser.wait(EC.presenceOf(this.title), BROWSER_WAIT_TIMEOUT)
|
await browser.wait(EC.presenceOf(this.title), BROWSER_WAIT_TIMEOUT);
|
||||||
.then(() => browser.wait(EC.presenceOf(browser.element(by.css('.cdk-overlay-backdrop'))), BROWSER_WAIT_TIMEOUT));
|
await browser.wait(EC.presenceOf(browser.element(by.css('.cdk-overlay-backdrop'))), BROWSER_WAIT_TIMEOUT);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForDialogToClose() {
|
async waitForDialogToClose() {
|
||||||
return browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
getTitle(): promise.Promise<string> {
|
async getTitle() {
|
||||||
return this.title.getText();
|
return await this.title.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
isValidationMessageDisplayed(): promise.Promise<boolean> {
|
async isValidationMessageDisplayed() {
|
||||||
return this.validationMessage.isDisplayed();
|
return await this.validationMessage.isDisplayed();
|
||||||
}
|
}
|
||||||
|
|
||||||
getValidationMessage(): promise.Promise<string> {
|
async getValidationMessage() {
|
||||||
return this.isValidationMessageDisplayed()
|
await this.isValidationMessageDisplayed();
|
||||||
.then(() => this.validationMessage.getText());
|
return await this.validationMessage.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
enterName(name: string) {
|
async enterName(name: string) {
|
||||||
return this.nameInput.clear()
|
await this.nameInput.clear();
|
||||||
// .then(() => this.nameInput.sendKeys(name));
|
await Utils.typeInField(this.nameInput, name);
|
||||||
.then(() => Utils.typeInField(this.nameInput, name));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enterDescription(description: string) {
|
async enterDescription(description: string) {
|
||||||
return this.descriptionTextArea.clear()
|
await this.descriptionTextArea.clear();
|
||||||
// .then(() => this.descriptionTextArea.sendKeys(description));
|
await Utils.typeInField(this.descriptionTextArea, description);
|
||||||
.then(() => Utils.typeInField(this.descriptionTextArea, description));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteNameWithBackspace(): promise.Promise<void> {
|
async deleteNameWithBackspace() {
|
||||||
return this.nameInput.clear()
|
await this.nameInput.clear();
|
||||||
.then(() => {
|
await this.nameInput.sendKeys(' ', protractor.Key.CONTROL, 'a', protractor.Key.NULL, protractor.Key.BACK_SPACE);
|
||||||
return this.nameInput.sendKeys(' ', protractor.Key.CONTROL, 'a', protractor.Key.NULL, protractor.Key.BACK_SPACE);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
clickCreate() {
|
async clickCreate() {
|
||||||
return this.createButton.click();
|
await this.createButton.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickCancel() {
|
async clickCancel() {
|
||||||
return this.cancelButton.click()
|
await this.cancelButton.click();
|
||||||
.then(() => this.waitForDialogToClose());
|
await this.waitForDialogToClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickUpdate() {
|
async clickUpdate() {
|
||||||
return this.updateButton.click();
|
await this.updateButton.click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ export class ShareDialog extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async waitForDialogToClose() {
|
async waitForDialogToClose() {
|
||||||
return await browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.stalenessOf(this.title), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
async isDialogOpen() {
|
async isDialogOpen() {
|
||||||
|
@ -46,18 +46,18 @@ export class Header extends Component {
|
|||||||
super('adf-layout-header', ancestor);
|
super('adf-layout-header', ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
searchForText(text: string) {
|
async searchForText(text: string) {
|
||||||
return this.searchBar.clear()
|
await this.searchBar.clear();
|
||||||
.then(() => this.searchBar.sendKeys(text))
|
await this.searchBar.sendKeys(text);
|
||||||
.then(() => this.searchBar.sendKeys(protractor.Key.ENTER));
|
await this.searchBar.sendKeys(protractor.Key.ENTER);
|
||||||
}
|
}
|
||||||
|
|
||||||
async waitForSearchButton() {
|
async waitForSearchButton() {
|
||||||
return await Utils.waitUntilElementClickable(this.searchButton);
|
await Utils.waitUntilElementClickable(this.searchButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
async waitForSearchBar() {
|
async waitForSearchBar() {
|
||||||
return await Utils.waitUntilElementClickable(this.searchBar);
|
await Utils.waitUntilElementClickable(this.searchBar);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, by, promise } from 'protractor';
|
import { ElementFinder, by } from 'protractor';
|
||||||
import { Menu } from '../menu/menu';
|
import { Menu } from '../menu/menu';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
|
|
||||||
@ -43,22 +43,20 @@ export class UserInfo extends Component {
|
|||||||
super('aca-current-user', ancestor);
|
super('aca-current-user', ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
openMenu(): promise.Promise<Menu> {
|
async openMenu() {
|
||||||
const { menu, avatar } = this;
|
const { menu, avatar } = this;
|
||||||
|
|
||||||
return avatar.click()
|
await avatar.click();
|
||||||
.then(() => menu.wait())
|
await menu.wait();
|
||||||
.then(() => menu);
|
return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
get name(): promise.Promise<string> {
|
getName() {
|
||||||
return this.fullName.getText();
|
return this.fullName.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
signOut(): promise.Promise<void> {
|
async signOut() {
|
||||||
return this.openMenu()
|
const menu = await this.openMenu();
|
||||||
.then(menu => {
|
await menu.clickMenuItem('Sign out');
|
||||||
menu.clickMenuItem('Sign out');
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, ElementArrayFinder, by, protractor, browser, ExpectedConditions as EC } from 'protractor';
|
import { ElementFinder, ElementArrayFinder, by, browser, ExpectedConditions as EC } from 'protractor';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ export class InfoDrawer extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async waitForInfoDrawerToOpen() {
|
async waitForInfoDrawerToOpen() {
|
||||||
return browser.wait(EC.presenceOf(this.header), BROWSER_WAIT_TIMEOUT);
|
return await browser.wait(EC.presenceOf(this.header), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
async isEmpty() {
|
async isEmpty() {
|
||||||
@ -85,7 +85,7 @@ export class InfoDrawer extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async clickTab(title: string) {
|
async clickTab(title: string) {
|
||||||
return await this.getTabByTitle(title).click();
|
await this.getTabByTitle(title).click();
|
||||||
}
|
}
|
||||||
|
|
||||||
async getComponentIdOfTab(title: string) {
|
async getComponentIdOfTab(title: string) {
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { by, ElementFinder, promise } from 'protractor';
|
import { by, ElementFinder } from 'protractor';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
|
|
||||||
export class LoginComponent extends Component {
|
export class LoginComponent extends Component {
|
||||||
@ -49,57 +49,50 @@ export class LoginComponent extends Component {
|
|||||||
super(LoginComponent.selector, ancestor);
|
super(LoginComponent.selector, ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
enterUsername(username: string): LoginComponent {
|
async enterUsername(username: string) {
|
||||||
const { usernameInput } = this;
|
const { usernameInput } = this;
|
||||||
|
|
||||||
usernameInput.clear();
|
await usernameInput.clear();
|
||||||
usernameInput.sendKeys(username);
|
await usernameInput.sendKeys(username);
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enterPassword(password: string): LoginComponent {
|
async enterPassword(password: string) {
|
||||||
const { passwordInput } = this;
|
const { passwordInput } = this;
|
||||||
|
|
||||||
passwordInput.clear();
|
await passwordInput.clear();
|
||||||
passwordInput.sendKeys(password);
|
await passwordInput.sendKeys(password);
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
enterCredentials(username: string, password: string) {
|
async enterCredentials(username: string, password: string) {
|
||||||
this.enterUsername(username).enterPassword(password);
|
await this.enterUsername(username);
|
||||||
|
await this.enterPassword(password);
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
submit(): promise.Promise<void> {
|
submit() {
|
||||||
return this.submitButton.click();
|
return this.submitButton.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
getPasswordVisibility() {
|
async getPasswordVisibility() {
|
||||||
return this.passwordVisibility.getText()
|
const text = await this.passwordVisibility.getText();
|
||||||
.then(text => {
|
|
||||||
if (text.endsWith('visibility_off')) {
|
if (text.endsWith('visibility_off')) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
if (text.endsWith('visibility')) {
|
if (text.endsWith('visibility')) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
isPasswordShown() {
|
async isPasswordShown() {
|
||||||
return this.passwordInput.getAttribute('type')
|
const type = await this.passwordInput.getAttribute('type');
|
||||||
.then(type => {
|
|
||||||
if (type === 'text') {
|
if (type === 'text') {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
if (type === 'password') {
|
if (type === 'password') {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,10 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, ElementArrayFinder, by, browser, ExpectedConditions as EC, promise } from 'protractor';
|
import { ElementFinder, ElementArrayFinder, by, browser, ExpectedConditions as EC } from 'protractor';
|
||||||
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
import { BROWSER_WAIT_TIMEOUT } from '../../configs';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
|
import { Utils } from '../../utilities/utils'
|
||||||
|
|
||||||
export class Menu extends Component {
|
export class Menu extends Component {
|
||||||
private static selectors = {
|
private static selectors = {
|
||||||
@ -43,29 +44,30 @@ export class Menu extends Component {
|
|||||||
super(Menu.selectors.root, ancestor);
|
super(Menu.selectors.root, ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForMenuToOpen() {
|
async waitForMenuToOpen() {
|
||||||
return browser.wait(EC.presenceOf(browser.element(by.css('.cdk-overlay-backdrop'))), BROWSER_WAIT_TIMEOUT)
|
await browser.wait(EC.presenceOf(browser.element(by.css('.cdk-overlay-backdrop'))), BROWSER_WAIT_TIMEOUT);
|
||||||
.then(() => browser.wait(EC.presenceOf(browser.element(by.css('.mat-menu-panel'))), BROWSER_WAIT_TIMEOUT))
|
await browser.wait(EC.presenceOf(browser.element(by.css('.mat-menu-panel'))), BROWSER_WAIT_TIMEOUT);
|
||||||
.then(() => browser.wait(EC.visibilityOf(this.items.get(0)), BROWSER_WAIT_TIMEOUT));
|
await browser.wait(EC.visibilityOf(this.items.get(0)), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForMenuToClose() {
|
async waitForMenuToClose() {
|
||||||
return browser.wait(EC.not(EC.presenceOf(browser.element(by.css('.mat-menu-panel')))), BROWSER_WAIT_TIMEOUT);
|
await browser.wait(EC.not(EC.presenceOf(browser.element(by.css('.mat-menu-panel')))), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
closeMenu() {
|
async closeMenu() {
|
||||||
if (this.backdrop.isPresent()) {
|
// if (await this.backdrop.isPresent()) {
|
||||||
return this.backdrop.click();
|
// return await this.backdrop.click();
|
||||||
} else {
|
// } else {
|
||||||
return browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
// return await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
||||||
}
|
// }
|
||||||
|
return Utils.pressEscape();
|
||||||
}
|
}
|
||||||
|
|
||||||
getNthItem(nth: number): ElementFinder {
|
getNthItem(nth: number) {
|
||||||
return this.items.get(nth - 1);
|
return this.items.get(nth - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemByLabel(menuItem: string): ElementFinder {
|
getItemByLabel(menuItem: string) {
|
||||||
return this.component.element(by.cssContainingText(Menu.selectors.item, menuItem));
|
return this.component.element(by.cssContainingText(Menu.selectors.item, menuItem));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,39 +75,41 @@ export class Menu extends Component {
|
|||||||
return this.component.element(by.id(id));
|
return this.component.element(by.id(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemTooltip(menuItem: string): promise.Promise<string> {
|
async getItemTooltip(menuItem: string) {
|
||||||
return this.getItemByLabel(menuItem).getAttribute('title');
|
return await this.getItemByLabel(menuItem).getAttribute('title');
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemIconText(menuItem: string) {
|
async getItemIconText(menuItem: string) {
|
||||||
return this.getItemByLabel(menuItem).element(by.css(Menu.selectors.icon)).getText();
|
return await this.getItemByLabel(menuItem).element(by.css(Menu.selectors.icon)).getText();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemIdAttribute(menuItem: string) {
|
async getItemIdAttribute(menuItem: string) {
|
||||||
return this.getItemByLabel(menuItem).getAttribute('id');
|
return await this.getItemByLabel(menuItem).getAttribute('id');
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemsCount(): promise.Promise<number> {
|
async getItemsCount() {
|
||||||
return this.items.count();
|
return await this.items.count();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickNthItem(nth: number): promise.Promise<any> {
|
async clickNthItem(nth: number) {
|
||||||
const elem = this.getNthItem(nth);
|
const elem = this.getNthItem(nth);
|
||||||
return browser.wait(EC.elementToBeClickable(elem), BROWSER_WAIT_TIMEOUT)
|
await browser.wait(EC.elementToBeClickable(elem), BROWSER_WAIT_TIMEOUT);
|
||||||
.then(() => browser.actions().mouseMove(elem).click().perform())
|
await browser.actions().mouseMove(elem).click().perform();
|
||||||
.then(() => this.waitForMenuToClose());
|
await this.waitForMenuToClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickMenuItem(menuItem: string): promise.Promise<any> {
|
async clickMenuItem(menuItem: string) {
|
||||||
|
try {
|
||||||
const elem = this.getItemByLabel(menuItem);
|
const elem = this.getItemByLabel(menuItem);
|
||||||
return browser.wait(EC.elementToBeClickable(elem), BROWSER_WAIT_TIMEOUT)
|
await browser.wait(EC.elementToBeClickable(elem), BROWSER_WAIT_TIMEOUT);
|
||||||
.then(() => elem.click())
|
await elem.click();
|
||||||
.then(() => this.waitForMenuToClose());
|
} catch (e) {
|
||||||
|
console.log('___click menu item catch___', e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
isMenuItemPresent(title: string): promise.Promise<boolean> {
|
async isMenuItemPresent(title: string) {
|
||||||
return this.component.element(by.cssContainingText(Menu.selectors.item, title)).isPresent();
|
return await this.component.element(by.cssContainingText(Menu.selectors.item, title)).isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
uploadFile() {
|
uploadFile() {
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, promise, by } from 'protractor';
|
import { ElementFinder, by } from 'protractor';
|
||||||
import { Menu } from '../menu/menu';
|
import { Menu } from '../menu/menu';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
|
|
||||||
@ -56,43 +56,43 @@ export class Pagination extends Component {
|
|||||||
super(Pagination.selectors.root, ancestor);
|
super(Pagination.selectors.root, ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
openMaxItemsMenu(): promise.Promise<Menu> {
|
async openMaxItemsMenu() {
|
||||||
const { menu, maxItemsButton } = this;
|
const { menu, maxItemsButton } = this;
|
||||||
|
|
||||||
return maxItemsButton.click()
|
await maxItemsButton.click();
|
||||||
.then(() => menu.waitForMenuToOpen())
|
await menu.waitForMenuToOpen();
|
||||||
.then(() => menu);
|
// return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
openCurrentPageMenu(): promise.Promise<Menu> {
|
async openCurrentPageMenu() {
|
||||||
const { menu, pagesButton } = this;
|
const { menu, pagesButton } = this;
|
||||||
|
|
||||||
return pagesButton.click()
|
await pagesButton.click();
|
||||||
.then(() => menu.waitForMenuToOpen())
|
await menu.waitForMenuToOpen();
|
||||||
.then(() => menu);
|
// return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
getText(elem: ElementFinder) {
|
async getText(elem: ElementFinder) {
|
||||||
return elem.getText();
|
return await elem.getText();
|
||||||
}
|
}
|
||||||
|
|
||||||
resetToDefaultPageSize(): promise.Promise<any> {
|
async resetToDefaultPageSize() {
|
||||||
return this.openMaxItemsMenu()
|
await this.openMaxItemsMenu();
|
||||||
.then(menu => menu.clickMenuItem('25'))
|
await this.menu.clickMenuItem('25');
|
||||||
.then(() => this.menu.waitForMenuToClose());
|
await this.menu.waitForMenuToClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
resetToDefaultPageNumber(): promise.Promise<any> {
|
async resetToDefaultPageNumber() {
|
||||||
return this.openCurrentPageMenu()
|
await this.openCurrentPageMenu();
|
||||||
.then(menu => menu.clickMenuItem('1'))
|
await this.menu.clickMenuItem('1');
|
||||||
.then(() => this.menu.waitForMenuToClose());
|
await this.menu.waitForMenuToClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickNext(): promise.Promise<any> {
|
async clickNext() {
|
||||||
return this.nextButton.click();
|
await this.nextButton.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
clickPrevious(): promise.Promise<any> {
|
async clickPrevious() {
|
||||||
return this.previousButton.click();
|
await this.previousButton.click();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,9 +23,10 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { ElementFinder, ElementArrayFinder, by, promise } from 'protractor';
|
import { ElementFinder, ElementArrayFinder, by } from 'protractor';
|
||||||
import { Menu } from '../menu/menu';
|
import { Menu } from '../menu/menu';
|
||||||
import { Component } from '../component';
|
import { Component } from '../component';
|
||||||
|
import { Utils } from '../../utilities/utils';
|
||||||
|
|
||||||
export class Sidenav extends Component {
|
export class Sidenav extends Component {
|
||||||
private static selectors = {
|
private static selectors = {
|
||||||
@ -46,37 +47,44 @@ export class Sidenav extends Component {
|
|||||||
super(Sidenav.selectors.root, ancestor);
|
super(Sidenav.selectors.root, ancestor);
|
||||||
}
|
}
|
||||||
|
|
||||||
openNewMenu(): promise.Promise<Menu> {
|
async openNewMenu() {
|
||||||
const { menu, newButton } = this;
|
const { menu, newButton } = this;
|
||||||
|
|
||||||
return newButton.click()
|
await newButton.click();
|
||||||
.then(() => menu.waitForMenuToOpen())
|
await menu.waitForMenuToOpen();
|
||||||
.then(() => menu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
openCreateDialog(): any {
|
async openCreateDialog() {
|
||||||
return this.openNewMenu()
|
await this.openNewMenu();
|
||||||
.then(() => this.menu.clickMenuItem('Create folder'));
|
await this.menu.clickMenuItem('Create folder');
|
||||||
}
|
}
|
||||||
|
|
||||||
isActiveByLabel(label: string): promise.Promise<boolean> {
|
async isActiveByLabel(label: string) {
|
||||||
return this.getLinkByLabel(label).getAttribute('class')
|
const className = await this.getLinkByLabel(label).getAttribute('class');
|
||||||
.then(className => className.includes(Sidenav.selectors.activeLink.replace('.', '')));
|
return className.includes(Sidenav.selectors.activeLink.replace('.', ''));
|
||||||
}
|
}
|
||||||
|
|
||||||
getLink(label: string): ElementFinder {
|
getLink(label: string) {
|
||||||
return this.component.element(by.cssContainingText(Sidenav.selectors.link, label));
|
return this.component.element(by.cssContainingText(Sidenav.selectors.link, label));
|
||||||
}
|
}
|
||||||
|
|
||||||
getLinkByLabel(label: string): ElementFinder {
|
getLinkByLabel(label: string) {
|
||||||
return this.component.element(by.cssContainingText(Sidenav.selectors.label, label));
|
return this.component.element(by.cssContainingText(Sidenav.selectors.label, label));
|
||||||
|
// return browser.element(by.xpath(`.//*[.="${label}" and class="${Sidenav.selectors.label}"]`))
|
||||||
}
|
}
|
||||||
|
|
||||||
getLinkTooltip(label: string): promise.Promise<string> {
|
async getLinkTooltip(label: string) {
|
||||||
return this.getLink(label).getAttribute('title');
|
return await this.getLink(label).getAttribute('title');
|
||||||
}
|
}
|
||||||
|
|
||||||
navigateToLinkByLabel(label: string): promise.Promise<any> {
|
async navigateToLinkByLabel(label: string) {
|
||||||
return this.getLinkByLabel(label).click();
|
try{
|
||||||
|
const link = this.getLinkByLabel(label);
|
||||||
|
await Utils.waitUntilElementClickable(link);
|
||||||
|
return await link.click();
|
||||||
|
|
||||||
|
} catch (e){
|
||||||
|
console.log('---- sidebar navigation catch : ', e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -41,11 +41,13 @@ export class Toolbar extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async isEmpty() {
|
async isEmpty() {
|
||||||
return await this.buttons.count() === 0;
|
const count = await this.buttons.count();
|
||||||
|
return count === 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
async isButtonPresent(title: string) {
|
async isButtonPresent(title: string) {
|
||||||
return await this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`)).isPresent();
|
const elem = this.component.element(by.css(`${Toolbar.selectors.button}[title="${title}"]`));
|
||||||
|
return await elem.isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
getButtonByLabel(label: string) {
|
getButtonByLabel(label: string) {
|
||||||
@ -61,13 +63,15 @@ export class Toolbar extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async openMoreMenu() {
|
async openMoreMenu() {
|
||||||
await this.getButtonByTitleAttribute('More actions').click();
|
await this.isButtonPresent('More actions');
|
||||||
|
const moreMenu = this.getButtonByTitleAttribute('More actions');
|
||||||
|
await moreMenu.click();
|
||||||
await this.menu.waitForMenuToOpen();
|
await this.menu.waitForMenuToOpen();
|
||||||
return this.menu;
|
// return this.menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
async closeMoreMenu() {
|
async closeMoreMenu() {
|
||||||
return await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
||||||
}
|
}
|
||||||
|
|
||||||
async getButtonTooltip(button: ElementFinder) {
|
async getButtonTooltip(button: ElementFinder) {
|
||||||
|
@ -54,12 +54,12 @@ export class Viewer extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async waitForViewerToOpen() {
|
async waitForViewerToOpen() {
|
||||||
return await browser.wait(EC.presenceOf(this.viewerContainer), BROWSER_WAIT_TIMEOUT)
|
await browser.wait(EC.presenceOf(this.viewerContainer), BROWSER_WAIT_TIMEOUT);
|
||||||
.catch(err => err);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async isViewerOpened() {
|
async isViewerOpened() {
|
||||||
return await browser.isElementPresent(this.viewerLayout);
|
return await browser.isElementPresent(this.viewerLayout);
|
||||||
|
// return await this.viewerLayout.isPresent();
|
||||||
}
|
}
|
||||||
|
|
||||||
async isViewerContentDisplayed() {
|
async isViewerContentDisplayed() {
|
||||||
@ -79,7 +79,7 @@ export class Viewer extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async clickClose() {
|
async clickClose() {
|
||||||
return await this.closeButton.click();
|
await this.closeButton.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
async getCloseButtonTooltip() {
|
async getCloseButtonTooltip() {
|
||||||
|
@ -35,7 +35,7 @@ export class BrowsingPage extends Page {
|
|||||||
dataTable = new DataTable(this.app);
|
dataTable = new DataTable(this.app);
|
||||||
pagination = new Pagination(this.app);
|
pagination = new Pagination(this.app);
|
||||||
|
|
||||||
signOut(): promise.Promise<void> {
|
async signOut() {
|
||||||
return this.header.userInfo.signOut();
|
await this.header.userInfo.signOut();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,17 +22,12 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public License
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
import { browser, ExpectedConditions as EC, promise } from 'protractor';
|
import { browser, ExpectedConditions as EC } from 'protractor';
|
||||||
import { LoginComponent } from '../components/components';
|
import { LoginComponent } from '../components/components';
|
||||||
import { Page } from './page';
|
import { Page } from './page';
|
||||||
import { Utils } from '../utilities/utils';
|
import { Utils } from '../utilities/utils';
|
||||||
|
|
||||||
import {
|
import { ADMIN_USERNAME, ADMIN_PASSWORD, BROWSER_WAIT_TIMEOUT, APP_ROUTES } from '../configs';
|
||||||
ADMIN_USERNAME,
|
|
||||||
ADMIN_PASSWORD,
|
|
||||||
BROWSER_WAIT_TIMEOUT,
|
|
||||||
APP_ROUTES
|
|
||||||
} from '../configs';
|
|
||||||
|
|
||||||
export class LoginPage extends Page {
|
export class LoginPage extends Page {
|
||||||
login: LoginComponent = new LoginComponent(this.app);
|
login: LoginComponent = new LoginComponent(this.app);
|
||||||
@ -43,33 +38,31 @@ export class LoginPage extends Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
load(): promise.Promise<any> {
|
async load() {
|
||||||
return super.load().then(() => {
|
await super.load();
|
||||||
const { submitButton } = this.login;
|
const { submitButton } = this.login;
|
||||||
const hasSubmitButton = EC.presenceOf(submitButton);
|
const hasSubmitButton = EC.presenceOf(submitButton);
|
||||||
|
return browser.wait(hasSubmitButton, BROWSER_WAIT_TIMEOUT);
|
||||||
return browser.wait(hasSubmitButton, BROWSER_WAIT_TIMEOUT)
|
|
||||||
.then(() => Utils.clearLocalStorage())
|
|
||||||
.then(() => browser.manage().deleteAllCookies());
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loginWith(username: string, password?: string): promise.Promise<any> {
|
async loginWith(username: string, password?: string) {
|
||||||
const pass = password || username;
|
const pass = password || username;
|
||||||
return this.load()
|
await this.load();
|
||||||
.then(() => this.login.enterCredentials(username, pass).submit())
|
await this.login.enterCredentials(username, pass)
|
||||||
.then(() => super.waitForApp());
|
await this.login.submit();
|
||||||
|
return super.waitForApp();
|
||||||
}
|
}
|
||||||
|
|
||||||
loginWithAdmin(): promise.Promise<any> {
|
async loginWithAdmin() {
|
||||||
return this.load()
|
await this.load();
|
||||||
.then(() => this.loginWith(ADMIN_USERNAME, ADMIN_PASSWORD));
|
return this.loginWith(ADMIN_USERNAME, ADMIN_PASSWORD);
|
||||||
}
|
}
|
||||||
|
|
||||||
tryLoginWith(username: string, password?: string): promise.Promise<void> {
|
async tryLoginWith(username: string, password?: string) {
|
||||||
const pass = password || username;
|
const pass = password || username;
|
||||||
return this.load()
|
await this.load();
|
||||||
.then(() => this.login.enterCredentials(username, pass).submit())
|
await this.login.enterCredentials(username, pass);
|
||||||
.then(() => browser.wait(EC.presenceOf(this.login.errorMessage), BROWSER_WAIT_TIMEOUT));
|
await this.login.submit();
|
||||||
|
return browser.wait(EC.presenceOf(this.login.errorMessage), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { promise } from 'protractor';
|
|
||||||
import { Page } from './page';
|
import { Page } from './page';
|
||||||
import { APP_ROUTES } from '../configs';
|
import { APP_ROUTES } from '../configs';
|
||||||
import { Utils } from '../utilities/utils';
|
import { Utils } from '../utilities/utils';
|
||||||
@ -35,9 +34,9 @@ export class LogoutPage extends Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
load(): promise.Promise<any> {
|
load() {
|
||||||
return Utils.clearLocalStorage()
|
// await Utils.clearLocalStorage();
|
||||||
.then(() => Utils.clearSessionStorage())
|
// await Utils.clearSessionStorage();
|
||||||
.then(() => super.load());
|
return super.load();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,6 @@ import {
|
|||||||
element,
|
element,
|
||||||
by,
|
by,
|
||||||
ElementFinder,
|
ElementFinder,
|
||||||
promise,
|
|
||||||
ExpectedConditions as EC
|
ExpectedConditions as EC
|
||||||
} from 'protractor';
|
} from 'protractor';
|
||||||
import { BROWSER_WAIT_TIMEOUT, USE_HASH_STRATEGY } from './../configs';
|
import { BROWSER_WAIT_TIMEOUT, USE_HASH_STRATEGY } from './../configs';
|
||||||
@ -62,14 +61,13 @@ export abstract class Page {
|
|||||||
|
|
||||||
constructor(public url: string = '') {}
|
constructor(public url: string = '') {}
|
||||||
|
|
||||||
get title(): promise.Promise<string> {
|
getTitle() {
|
||||||
return browser.getTitle();
|
return browser.getTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
load(relativeUrl: string = ''): promise.Promise<void> {
|
load(relativeUrl: string = '') {
|
||||||
const hash = USE_HASH_STRATEGY ? '/#' : '';
|
const hash = USE_HASH_STRATEGY ? '/#' : '';
|
||||||
const path = `${browser.baseUrl}${hash}${this.url}${relativeUrl}`;
|
const path = `${browser.baseUrl}${hash}${this.url}${relativeUrl}`;
|
||||||
|
|
||||||
return browser.get(path);
|
return browser.get(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,68 +76,58 @@ export abstract class Page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
waitForSnackBarToAppear() {
|
waitForSnackBarToAppear() {
|
||||||
return browser.wait(
|
return browser.wait(EC.visibilityOf(this.snackBarContainer), BROWSER_WAIT_TIMEOUT);
|
||||||
EC.visibilityOf(this.snackBarContainer),
|
|
||||||
BROWSER_WAIT_TIMEOUT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForSnackBarToClose() {
|
async waitForSnackBarToClose() {
|
||||||
return browser.wait(
|
await browser.wait(EC.not(EC.visibilityOf(this.snackBarContainer)), BROWSER_WAIT_TIMEOUT);
|
||||||
EC.not(EC.visibilityOf(this.snackBarContainer)),
|
|
||||||
BROWSER_WAIT_TIMEOUT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForDialog() {
|
async waitForDialog() {
|
||||||
return browser.wait(
|
await browser.wait(EC.visibilityOf(this.dialogContainer), BROWSER_WAIT_TIMEOUT);
|
||||||
EC.visibilityOf(this.dialogContainer),
|
|
||||||
BROWSER_WAIT_TIMEOUT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForDialogToClose() {
|
async waitForDialogToClose() {
|
||||||
return browser.wait(
|
await browser.wait(EC.not(EC.visibilityOf(this.dialogContainer)), BROWSER_WAIT_TIMEOUT);
|
||||||
EC.not(EC.visibilityOf(this.dialogContainer)),
|
|
||||||
BROWSER_WAIT_TIMEOUT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
refresh(): promise.Promise<void> {
|
async refresh() {
|
||||||
return browser.refresh();
|
await browser.refresh();
|
||||||
|
await this.waitForApp();
|
||||||
}
|
}
|
||||||
|
|
||||||
getDialogActionByLabel(label) {
|
getDialogActionByLabel(label) {
|
||||||
return element(by.cssContainingText('.mat-button-wrapper', label));
|
return element(by.cssContainingText('.mat-button-wrapper', label));
|
||||||
}
|
}
|
||||||
|
|
||||||
isSnackBarDisplayed(): promise.Promise<boolean> {
|
async isSnackBarDisplayed() {
|
||||||
return this.snackBar.isDisplayed();
|
return await this.snackBar.isDisplayed();
|
||||||
}
|
}
|
||||||
|
|
||||||
getSnackBarMessage(): promise.Promise<string> {
|
async getSnackBarMessage() {
|
||||||
return this.waitForSnackBarToAppear().then(() =>
|
// await this.waitForSnackBarToAppear();
|
||||||
this.snackBar.getAttribute('innerText')
|
return await this.snackBar.getAttribute('innerText');
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getSnackBarAction() {
|
async clickSnackBarAction() {
|
||||||
return this.waitForSnackBarToAppear().then(() => this.snackBarAction);
|
try {
|
||||||
|
|
||||||
|
// await this.waitForSnackBarToAppear();
|
||||||
|
|
||||||
|
// return browser.executeScript(function (elem) {
|
||||||
|
// elem.click();
|
||||||
|
// }, this.snackBarAction);
|
||||||
|
return await this.snackBarAction.click();
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e, '.......failed on click snack bar action.........');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clickSnackBarAction() {
|
async isGenericErrorDisplayed() {
|
||||||
return this.waitForSnackBarToAppear().then(() => {
|
return await this.genericError.isDisplayed();
|
||||||
return browser.executeScript(function(elem) {
|
|
||||||
elem.click();
|
|
||||||
}, this.snackBarAction);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
isGenericErrorDisplayed() {
|
async getGenericErrorTitle() {
|
||||||
return this.genericError.isDisplayed();
|
return await this.genericErrorTitle.getText();
|
||||||
}
|
|
||||||
|
|
||||||
getGenericErrorTitle() {
|
|
||||||
return this.genericErrorTitle.getText();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser, protractor } from 'protractor';
|
|
||||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||||
import { SITE_VISIBILITY, SIDEBAR_LABELS } from '../../configs';
|
import { SITE_VISIBILITY, SIDEBAR_LABELS } from '../../configs';
|
||||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||||
@ -79,7 +78,7 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
await apis.user.favorites.addFavoritesByIds('file', [ file1Id, file2Id ]);
|
await apis.user.favorites.addFavoritesByIds('file', [ file1Id, file2Id ]);
|
||||||
await apis.user.favorites.addFavoritesByIds('folder', [ folder1Id, folder2Id ]);
|
await apis.user.favorites.addFavoritesByIds('folder', [ folder1Id, folder2Id ]);
|
||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 4 + 1 });
|
||||||
|
|
||||||
fileInTrash1Id = (await apis.user.nodes.createFile(fileInTrash1)).entry.id;
|
fileInTrash1Id = (await apis.user.nodes.createFile(fileInTrash1)).entry.id;
|
||||||
fileInTrash2Id = (await apis.user.nodes.createFile(fileInTrash2)).entry.id;
|
fileInTrash2Id = (await apis.user.nodes.createFile(fileInTrash2)).entry.id;
|
||||||
@ -92,12 +91,10 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodesById([ file1Id, file2Id, folder1Id, folder2Id ]);
|
||||||
apis.user.nodes.deleteNodesById([ file1Id, file2Id, folder1Id, folder2Id ]),
|
await apis.user.sites.deleteSite(siteName);
|
||||||
apis.user.sites.deleteSite(siteName),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -105,7 +102,7 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('Generic tests', () => {
|
describe('Generic tests', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
@ -133,6 +130,7 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('on Personal Files', () => {
|
describe('on Personal Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
@ -180,12 +178,12 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('on File Libraries', () => {
|
describe('on File Libraries', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.doubleClickOnRowByName(siteName);
|
await dataTable.doubleClickOnRowByName(siteName);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -231,10 +229,10 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('on Shared Files', () => {
|
describe('on Shared Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -254,10 +252,10 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('Recent Files', () => {
|
describe('Recent Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -277,10 +275,10 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('Favorites', () => {
|
describe('Favorites', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -329,10 +327,10 @@ describe('Context menu actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('Trash', () => {
|
describe('Trash', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -73,20 +73,18 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', fileUserId);
|
await apis.user.favorites.addFavoriteById('file', fileUserId);
|
||||||
await apis.user.favorites.addFavoriteById('folder', folderUserId);
|
await apis.user.favorites.addFavoriteById('folder', folderUserId);
|
||||||
await apis.user.favorites.waitForApi({ expect: 2 });
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(fileUserId);
|
||||||
apis.user.nodes.deleteNodeById(fileUserId),
|
await apis.user.nodes.deleteNodeById(folderUserId);
|
||||||
apis.user.nodes.deleteNodeById(folderUserId),
|
await apis.user.sites.deleteSite(siteName);
|
||||||
apis.user.sites.deleteSite(siteName),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -94,7 +92,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Generic tests', () => {
|
describe('Generic tests', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
@ -142,10 +140,10 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('on Personal Files', () => {
|
describe('on Personal Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -181,7 +179,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('File Libraries', () => {
|
describe('File Libraries', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.doubleClickOnRowByName(siteName);
|
await dataTable.doubleClickOnRowByName(siteName);
|
||||||
@ -221,7 +219,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Shared Files', () => {
|
describe('Shared Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
@ -246,7 +244,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Recent Files', () => {
|
describe('Recent Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
@ -270,7 +268,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Favorites', () => {
|
describe('Favorites', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
@ -310,7 +308,7 @@ describe('Context menu actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Trash', () => {
|
describe('Trash', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
|
@ -28,6 +28,7 @@ import { browser } from 'protractor';
|
|||||||
import { SIDEBAR_LABELS, SITE_VISIBILITY, SITE_ROLES } from '../../configs';
|
import { SIDEBAR_LABELS, SITE_VISIBILITY, SITE_ROLES } from '../../configs';
|
||||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||||
import { CreateOrEditFolderDialog } from '../../components/dialog/create-edit-folder-dialog';
|
import { CreateOrEditFolderDialog } from '../../components/dialog/create-edit-folder-dialog';
|
||||||
|
import { Menu } from '../../components/menu/menu';
|
||||||
import { Utils } from '../../utilities/utils';
|
import { Utils } from '../../utilities/utils';
|
||||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||||
|
|
||||||
@ -53,6 +54,7 @@ describe('Create folder', () => {
|
|||||||
const personalFilesPage = new BrowsingPage();
|
const personalFilesPage = new BrowsingPage();
|
||||||
const createDialog = new CreateOrEditFolderDialog();
|
const createDialog = new CreateOrEditFolderDialog();
|
||||||
const { dataTable } = personalFilesPage;
|
const { dataTable } = personalFilesPage;
|
||||||
|
const menu = new Menu();
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await apis.admin.people.createUser({ username });
|
await apis.admin.people.createUser({ username });
|
||||||
@ -67,11 +69,9 @@ describe('Create folder', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.admin.sites.deleteSite(siteName);
|
||||||
apis.admin.sites.deleteSite(siteName),
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -83,13 +83,13 @@ describe('Create folder', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('option is enabled when having enough permissions - [C216339]', async () => {
|
it('option is enabled when having enough permissions - [C216339]', async () => {
|
||||||
await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
|
await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
|
||||||
const menu = await personalFilesPage.sidenav.openNewMenu();
|
await personalFilesPage.sidenav.openNewMenu();
|
||||||
const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
|
const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
|
||||||
expect(isEnabled).toBe(true, 'Create folder is not enabled');
|
expect(isEnabled).toBe(true, 'Create folder is not enabled');
|
||||||
});
|
});
|
||||||
@ -123,7 +123,7 @@ describe('Create folder', () => {
|
|||||||
|
|
||||||
it('enabled option tooltip - [C216342]', async () => {
|
it('enabled option tooltip - [C216342]', async () => {
|
||||||
await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
|
await personalFilesPage.dataTable.doubleClickOnRowByName(parent);
|
||||||
const menu = await personalFilesPage.sidenav.openNewMenu();
|
await personalFilesPage.sidenav.openNewMenu();
|
||||||
await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
|
await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
|
||||||
expect(await menu.getItemTooltip('Create folder')).toContain('Create new folder');
|
expect(await menu.getItemTooltip('Create folder')).toContain('Create new folder');
|
||||||
});
|
});
|
||||||
@ -239,14 +239,14 @@ describe('Create folder', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('option is disabled when not enough permissions - [C280397]', async () => {
|
it('option is disabled when not enough permissions - [C280397]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
|
await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
|
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
|
||||||
const menu = await fileLibrariesPage.sidenav.openNewMenu();
|
await fileLibrariesPage.sidenav.openNewMenu();
|
||||||
const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
|
const isEnabled = await menu.getItemByLabel('Create folder').isEnabled();
|
||||||
expect(isEnabled).toBe(false, 'Create folder is not disabled');
|
expect(isEnabled).toBe(false, 'Create folder is not disabled');
|
||||||
});
|
});
|
||||||
@ -254,7 +254,7 @@ describe('Create folder', () => {
|
|||||||
it('disabled option tooltip - [C280398]', async () => {
|
it('disabled option tooltip - [C280398]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
|
await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
|
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderName1);
|
||||||
const menu = await fileLibrariesPage.sidenav.openNewMenu();
|
await fileLibrariesPage.sidenav.openNewMenu();
|
||||||
await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
|
await browser.actions().mouseMove(menu.getItemByLabel('Create folder')).perform();
|
||||||
const tooltip = await menu.getItemTooltip('Create folder');
|
const tooltip = await menu.getItemTooltip('Create folder');
|
||||||
expect(tooltip).toContain(`Folders cannot be created whilst viewing the current items`);
|
expect(tooltip).toContain(`Folders cannot be created whilst viewing the current items`);
|
||||||
|
@ -23,9 +23,9 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser } from 'protractor';
|
import { browser, ExpectedConditions as EC } from 'protractor';
|
||||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||||
import { SIDEBAR_LABELS } from '../../configs';
|
import { BROWSER_WAIT_TIMEOUT, SIDEBAR_LABELS } from '../../configs';
|
||||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||||
import { Utils } from '../../utilities/utils';
|
import { Utils } from '../../utilities/utils';
|
||||||
|
|
||||||
@ -91,14 +91,10 @@ describe('Delete and undo delete', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.unlockFile(file4Id);
|
||||||
apis.user.nodes.unlockFile(file4Id),
|
await apis.user.nodes.unlockFile(fileLocked1Id);
|
||||||
apis.user.nodes.unlockFile(fileLocked1Id)
|
await logoutPage.load();
|
||||||
]);
|
await apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id]);
|
||||||
await Promise.all([
|
|
||||||
logoutPage.load(),
|
|
||||||
apis.user.nodes.deleteNodesById([file1Id, file2Id, folder1Id, folder2Id, fileLocked1Id])
|
|
||||||
]);
|
|
||||||
await apis.user.search.waitForApi(username, {expect: 0});
|
await apis.user.search.waitForApi(username, {expect: 0});
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -209,7 +205,9 @@ describe('Delete and undo delete', () => {
|
|||||||
|
|
||||||
await dataTable.selectItem(file1);
|
await dataTable.selectItem(file1);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
|
|
||||||
await toolbar.menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
|
|
||||||
await page.clickSnackBarAction();
|
await page.clickSnackBarAction();
|
||||||
expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item was not restored');
|
expect(await dataTable.getRowByName(file1).isPresent()).toBe(true, 'Item was not restored');
|
||||||
expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
|
expect(await page.pagination.range.getText()).toContain(`1-${items} of ${items}`);
|
||||||
@ -271,10 +269,8 @@ describe('Delete and undo delete', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await logoutPage.load();
|
||||||
logoutPage.load(),
|
await apis.user.nodes.deleteNodesById([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id]);
|
||||||
apis.user.nodes.deleteNodesById([sharedFile1Id, sharedFile2Id, sharedFile3Id, sharedFile4Id])
|
|
||||||
]);
|
|
||||||
await apis.user.search.waitForApi(username, {expect: 0});
|
await apis.user.search.waitForApi(username, {expect: 0});
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -383,15 +379,11 @@ describe('Delete and undo delete', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.unlockFile(favoriteFile4Id);
|
||||||
apis.user.nodes.unlockFile(favoriteFile4Id),
|
await apis.user.nodes.unlockFile(favoriteFileLocked1Id);
|
||||||
apis.user.nodes.unlockFile(favoriteFileLocked1Id)
|
await logoutPage.load();
|
||||||
]);
|
await apis.user.nodes.deleteNodesById([
|
||||||
await Promise.all([
|
|
||||||
logoutPage.load(),
|
|
||||||
apis.user.nodes.deleteNodesById([
|
|
||||||
favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id
|
favoriteFile1Id, favoriteFile2Id, favoriteFolder1Id, favoriteFolder2Id, favoriteFileLocked1Id
|
||||||
])
|
|
||||||
]);
|
]);
|
||||||
await apis.user.search.waitForApi(username, {expect: 0});
|
await apis.user.search.waitForApi(username, {expect: 0});
|
||||||
done();
|
done();
|
||||||
@ -555,6 +547,7 @@ describe('Delete and undo delete', () => {
|
|||||||
if (empty) {
|
if (empty) {
|
||||||
await browser.sleep(6000);
|
await browser.sleep(6000);
|
||||||
await browser.refresh();
|
await browser.refresh();
|
||||||
|
await page.waitForApp();
|
||||||
}
|
}
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -571,10 +564,8 @@ describe('Delete and undo delete', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await logoutPage.load();
|
||||||
logoutPage.load(),
|
await apis.user.nodes.deleteNodesById([recentFile1Id, recentFile2Id, recentFile3Id, recentFile4Id]);
|
||||||
apis.user.nodes.deleteNodesById([recentFile1Id, recentFile2Id, recentFile3Id, recentFile4Id])
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -27,22 +27,22 @@ import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
|||||||
import { SIDEBAR_LABELS, SITE_VISIBILITY } from '../../configs';
|
import { SIDEBAR_LABELS, SITE_VISIBILITY } from '../../configs';
|
||||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||||
import { Utils } from '../../utilities/utils';
|
import { Utils } from '../../utilities/utils';
|
||||||
import { browser } from 'protractor';
|
|
||||||
|
|
||||||
describe('Mark items as favorites', () => {
|
describe('Mark items as favorites', () => {
|
||||||
const username = `user-${Utils.random()}`;
|
const username = `user-${Utils.random()}`;
|
||||||
|
|
||||||
const file1NotFav = `file-${Utils.random()}.txt`;
|
const file1NotFav = `file1-${Utils.random()}.txt`;
|
||||||
const file2NotFav = `file-${Utils.random()}.txt`;
|
const file2NotFav = `file2-${Utils.random()}.txt`;
|
||||||
const file3Fav = `file-${Utils.random()}.txt`;
|
const file3Fav = `file3-${Utils.random()}.txt`;
|
||||||
const file4Fav = `file-${Utils.random()}.txt`;
|
const file4Fav = `file4-${Utils.random()}.txt`;
|
||||||
const folder1 = `folder-${Utils.random()}`;
|
const folder1 = `folder-${Utils.random()}`;
|
||||||
|
|
||||||
const siteName = `site-public-${Utils.random()}`;
|
const siteName = `site-public-${Utils.random()}`;
|
||||||
const fileSiteNotFav1 = `file-site${Utils.random()}.txt`;
|
const fileSiteNotFav1 = `file1-site-${Utils.random()}.txt`;
|
||||||
const fileSiteNotFav2 = `file-site${Utils.random()}.txt`;
|
const fileSiteNotFav2 = `file2-site-${Utils.random()}.txt`;
|
||||||
const folderSite = `folder-${Utils.random()}`;
|
const folderSite = `folder-site-${Utils.random()}`;
|
||||||
const fileSiteFav1 = `file-${Utils.random()}.txt`;
|
const fileSiteFav1 = `file3-${Utils.random()}.txt`;
|
||||||
const fileSiteFav2 = `file-${Utils.random()}.txt`;
|
const fileSiteFav2 = `file4-${Utils.random()}.txt`;
|
||||||
|
|
||||||
let file1Id, file2Id, file3Id, file4Id, folder1Id, fileSiteNotFav1Id, fileSiteNotFav2Id, folderSiteId, fileSiteFav1Id, fileSiteFav2Id;
|
let file1Id, file2Id, file3Id, file4Id, folder1Id, fileSiteNotFav1Id, fileSiteNotFav2Id, folderSiteId, fileSiteFav1Id, fileSiteFav2Id;
|
||||||
|
|
||||||
@ -67,8 +67,21 @@ describe('Mark items as favorites', () => {
|
|||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', file4Id);
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
|
|
||||||
await apis.user.search.waitForApi(username, { expect: 4 });
|
await apis.user.shared.shareFilesByIds([ file1Id, file2Id, file3Id, file4Id ]);
|
||||||
await apis.user.favorites.waitForApi({ expect: 2 });
|
|
||||||
|
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
|
||||||
|
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||||
|
folderSiteId = (await apis.user.nodes.createFolder(folderSite, docLibId)).entry.id;
|
||||||
|
fileSiteNotFav1Id = (await apis.user.nodes.createFile(fileSiteNotFav1, folderSiteId)).entry.id;
|
||||||
|
fileSiteFav1Id = (await apis.user.nodes.createFile(fileSiteFav1, folderSiteId)).entry.id;
|
||||||
|
fileSiteNotFav2Id = (await apis.user.nodes.createFile(fileSiteNotFav2, folderSiteId)).entry.id;
|
||||||
|
fileSiteFav2Id = (await apis.user.nodes.createFile(fileSiteFav2, folderSiteId)).entry.id;
|
||||||
|
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
||||||
|
await apis.user.favorites.addFavoriteById('file', fileSiteFav2Id);
|
||||||
|
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
|
await apis.user.search.waitForApi(username, { expect: 8 });
|
||||||
|
await apis.user.shared.waitForApi({ expect: 4 });
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -86,17 +99,13 @@ describe('Mark items as favorites', () => {
|
|||||||
xit('');
|
xit('');
|
||||||
|
|
||||||
describe('on Personal Files', () => {
|
describe('on Personal Files', () => {
|
||||||
beforeAll(async (done) => {
|
beforeEach(async (done) => {
|
||||||
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(async (done) => {
|
|
||||||
await toolbar.closeMoreMenu();
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('Favorite action has empty star icon for an item not marked as favorite - [C217186]', async () => {
|
it('Favorite action has empty star icon for an item not marked as favorite - [C217186]', async () => {
|
||||||
await dataTable.selectItem(file1NotFav);
|
await dataTable.selectItem(file1NotFav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
@ -119,288 +128,279 @@ describe('Mark items as favorites', () => {
|
|||||||
await dataTable.selectItem(file1NotFav);
|
await dataTable.selectItem(file1NotFav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
||||||
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite a folder - [C280390]', async () => {
|
it('favorite a folder - [C280390]', async () => {
|
||||||
await dataTable.selectItem(folder1);
|
await dataTable.selectItem(folder1);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(folder1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(folder1Id);
|
||||||
expect(isFavorite).toBe(true, `${folder1} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${folder1} not marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(folder1Id);
|
await apis.user.favorites.removeFavoriteById(folder1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite an item - [C217190]', async () => {
|
it('unfavorite an item - [C217190]', async () => {
|
||||||
await dataTable.selectItem(file3Fav);
|
await dataTable.selectItem(file3Fav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 1 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
||||||
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - all unfavorite - [C217192]', async () => {
|
it('favorite multiple items - all unfavorite - [C217192]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 7 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file2Id);
|
||||||
apis.user.favorites.isFavorite(file2Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
await apis.user.favorites.removeFavoriteById(file2Id);
|
await apis.user.favorites.removeFavoriteById(file2Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - some favorite and some unfavorite - [C217194]', async () => {
|
it('favorite multiple items - some favorite and some unfavorite - [C217194]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite multiple items - [C217193]', async () => {
|
it('unfavorite multiple items - [C217193]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file3Fav, file4Fav ])
|
await dataTable.selectMultipleItems([ file3Fav, file4Fav ])
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await browser.sleep(2000);
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file4Id);
|
||||||
apis.user.favorites.isFavorite(file4Id)
|
expect(isFile1Fav).toBe(false, 'item marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(false, 'item marked as favorite');
|
||||||
expect(resp[0]).toBe(false, 'item marked as favorite');
|
|
||||||
expect(resp[1]).toBe(false, 'item marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', file4Id);
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('on Recent Files', () => {
|
describe('on Recent Files', () => {
|
||||||
beforeAll(async (done) => {
|
beforeEach(async (done) => {
|
||||||
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(async (done) => {
|
|
||||||
await toolbar.closeMoreMenu();
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('favorite a file - [C280352]', async () => {
|
it('favorite a file - [C280352]', async () => {
|
||||||
await dataTable.selectItem(file1NotFav);
|
await dataTable.selectItem(file1NotFav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
||||||
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite an item - [C280353]', async () => {
|
it('unfavorite an item - [C280353]', async () => {
|
||||||
await dataTable.selectItem(file3Fav);
|
await dataTable.selectItem(file3Fav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 1 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
||||||
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - all unfavorite - [C280355]', async () => {
|
it('favorite multiple items - all unfavorite - [C280355]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 7 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file2Id);
|
||||||
apis.user.favorites.isFavorite(file2Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
await apis.user.favorites.removeFavoriteById(file2Id);
|
await apis.user.favorites.removeFavoriteById(file2Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - some favorite and some unfavorite - [C280357]', async () => {
|
it('favorite multiple items - some favorite and some unfavorite - [C280357]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite multiple items - [C280356]', async () => {
|
it('unfavorite multiple items - [C280356]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await browser.sleep(2000);
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file4Id);
|
||||||
apis.user.favorites.isFavorite(file4Id)
|
expect(isFile1Fav).toBe(false, 'item marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(false, 'item marked as favorite');
|
||||||
expect(resp[0]).toBe(false, 'item marked as favorite');
|
|
||||||
expect(resp[1]).toBe(false, 'item marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', file4Id);
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('on Shared Files', () => {
|
describe('on Shared Files', () => {
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await apis.user.shared.shareFilesByIds([ file1Id, file2Id, file3Id, file4Id ]);
|
await page.refresh();
|
||||||
await apis.user.shared.waitForApi({ expect: 4 });
|
done();
|
||||||
|
});
|
||||||
|
|
||||||
|
beforeEach(async (done) => {
|
||||||
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
|
||||||
// browser.actions().sendKeys(protractor.Key.ESCAPE).perform().then(done);
|
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('favorite a file - [C280362]', async () => {
|
it('favorite a file - [C280362]', async () => {
|
||||||
await dataTable.selectItem(file1NotFav)
|
await dataTable.selectItem(file1NotFav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file1Id);
|
||||||
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${file1NotFav} not marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite an item - [C280363]', async () => {
|
it('unfavorite an item - [C280363]', async () => {
|
||||||
await dataTable.selectItem(file3Fav);
|
await dataTable.selectItem(file3Fav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 1 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
||||||
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
expect(isFavorite).toBe(false, `${file3Fav} is marked as favorite`);
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - all unfavorite - [C280365]', async () => {
|
it('favorite multiple items - all unfavorite - [C280365]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file2NotFav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 7 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file2Id);
|
||||||
apis.user.favorites.isFavorite(file2Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
await apis.user.favorites.removeFavoriteById(file2Id);
|
await apis.user.favorites.removeFavoriteById(file2Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('favorite multiple items - some favorite and some unfavorite - [C280367]', async () => {
|
it('favorite multiple items - some favorite and some unfavorite - [C280367]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
await dataTable.selectMultipleItems([ file1NotFav, file3Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file1Id);
|
||||||
apis.user.favorites.isFavorite(file1Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id)
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(resp[0]).toBe(true, 'item not marked as favorite');
|
|
||||||
expect(resp[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.removeFavoriteById(file1Id);
|
await apis.user.favorites.removeFavoriteById(file1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite multiple items - [C280366]', async () => {
|
it('unfavorite multiple items - [C280366]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await browser.sleep(2000);
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
const resp = await Promise.all([
|
const isFile1Fav = await apis.user.favorites.isFavorite(file3Id);
|
||||||
apis.user.favorites.isFavorite(file3Id),
|
const isFile2Fav = await apis.user.favorites.isFavorite(file4Id);
|
||||||
apis.user.favorites.isFavorite(file4Id)
|
expect(isFile1Fav).toBe(false, 'item marked as favorite');
|
||||||
]);
|
expect(isFile2Fav).toBe(false, 'item marked as favorite');
|
||||||
expect(resp[0]).toBe(false, 'item marked as favorite');
|
|
||||||
expect(resp[1]).toBe(false, 'item marked as favorite');
|
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', file4Id);
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('on Favorites', () => {
|
describe('on Favorites', () => {
|
||||||
beforeAll(async (done) => {
|
beforeEach(async (done) => {
|
||||||
|
await Utils.pressEscape();
|
||||||
|
await page.refresh();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
|
||||||
await page.refresh();
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('unfavorite an item - [C280368]', async () => {
|
it('unfavorite an item - [C280368]', async () => {
|
||||||
await dataTable.selectItem(file3Fav);
|
await dataTable.selectItem(file3Fav);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 1 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
const isFavorite = await apis.user.favorites.isFavorite(file3Id);
|
||||||
expect(isFavorite).toBe(false, 'item is marked as favorite');
|
expect(isFavorite).toBe(false, 'item is marked as favorite');
|
||||||
expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'item still displayed');
|
expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'item still displayed');
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('unfavorite multiple items - [C280374]', async () => {
|
it('unfavorite multiple items - [C280374]', async () => {
|
||||||
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
await dataTable.selectMultipleItems([ file3Fav, file4Fav ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await browser.sleep(2000);
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
const isFavorite3 = await apis.user.favorites.isFavorite(file3Id);
|
const isFavorite3 = await apis.user.favorites.isFavorite(file3Id);
|
||||||
expect(isFavorite3).toBe(false, 'file3 marked as favorite');
|
|
||||||
expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'file3 still displayed');
|
|
||||||
const isFavorite4 = await apis.user.favorites.isFavorite(file4Id);
|
const isFavorite4 = await apis.user.favorites.isFavorite(file4Id);
|
||||||
|
expect(isFavorite3).toBe(false, 'file3 marked as favorite');
|
||||||
expect(isFavorite4).toBe(false, 'file4 marked as favorite');
|
expect(isFavorite4).toBe(false, 'file4 marked as favorite');
|
||||||
|
expect(await dataTable.getRowByName(file3Fav).isPresent()).toBe(false, 'file3 still displayed');
|
||||||
expect(await dataTable.getRowByName(file4Fav).isPresent()).toBe(false, 'file4 still displayed');
|
expect(await dataTable.getRowByName(file4Fav).isPresent()).toBe(false, 'file4 still displayed');
|
||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file3Id);
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', file4Id);
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Favorite action has full star icon for items marked as favorite - [C280371]', async () => {
|
it('Favorite action has full star icon for items marked as favorite - [C280371]', async () => {
|
||||||
@ -411,32 +411,12 @@ describe('Mark items as favorites', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe ('on File Libraries', () => {
|
describe ('on File Libraries', () => {
|
||||||
const fileLibrariesPage = new BrowsingPage();
|
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
|
||||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC);
|
|
||||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
|
||||||
folderSiteId = (await apis.user.nodes.createFolder(folderSite, docLibId)).entry.id;
|
|
||||||
fileSiteNotFav1Id = (await apis.user.nodes.createFile(fileSiteNotFav1, folderSiteId)).entry.id;
|
|
||||||
fileSiteFav1Id = (await apis.user.nodes.createFile(fileSiteFav1, folderSiteId)).entry.id;
|
|
||||||
fileSiteNotFav2Id = (await apis.user.nodes.createFile(fileSiteNotFav2, folderSiteId)).entry.id;
|
|
||||||
fileSiteFav2Id = (await apis.user.nodes.createFile(fileSiteFav2, folderSiteId)).entry.id;
|
|
||||||
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
|
||||||
await apis.user.favorites.addFavoriteById('file', fileSiteFav2Id);
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await fileLibrariesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
await Utils.pressEscape();
|
||||||
await fileLibrariesPage.dataTable.waitForHeader();
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(siteName);
|
await page.dataTable.waitForHeader();
|
||||||
await fileLibrariesPage.dataTable.waitForHeader();
|
await page.dataTable.doubleClickOnRowByName(siteName);
|
||||||
await toolbar.closeMoreMenu();
|
await page.dataTable.waitForHeader();
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(async (done) => {
|
|
||||||
await browser.refresh();
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -444,78 +424,81 @@ describe('Mark items as favorites', () => {
|
|||||||
await dataTable.selectItem(folderSite);
|
await dataTable.selectItem(folderSite);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(folderSiteId);
|
const isFavorite = await apis.user.favorites.isFavorite(folderSiteId);
|
||||||
expect(isFavorite).toBe(true, `${folderSite} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${folderSite} not marked as favorite`);
|
||||||
await apis.user.favorites.removeFavoriteById(folderSiteId);
|
await apis.user.favorites.removeFavoriteById(folderSiteId);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Favorite a file - [C280342]', async () => {
|
it('Favorite a file - [C280342]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderSite);
|
await page.dataTable.doubleClickOnRowByName(folderSite);
|
||||||
await dataTable.selectItem(fileSiteNotFav1);
|
await dataTable.selectItem(fileSiteNotFav1);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(fileSiteNotFav1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(fileSiteNotFav1Id);
|
||||||
expect(isFavorite).toBe(true, `${fileSiteNotFav1} not marked as favorite`);
|
expect(isFavorite).toBe(true, `${fileSiteNotFav1} not marked as favorite`);
|
||||||
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Unfavorite an item - [C280343]', async () => {
|
it('Unfavorite an item - [C280343]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderSite);
|
await page.dataTable.doubleClickOnRowByName(folderSite);
|
||||||
await dataTable.selectItem(fileSiteFav1);
|
await dataTable.selectItem(fileSiteFav1);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
const isFavorite = await apis.user.favorites.isFavorite(fileSiteFav1Id);
|
const isFavorite = await apis.user.favorites.isFavorite(fileSiteFav1Id);
|
||||||
expect(isFavorite).toBe(false, `${fileSiteFav1} is marked as favorite`);
|
expect(isFavorite).toBe(false, `${fileSiteFav1} is marked as favorite`);
|
||||||
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Favorite multiple items - all unfavorite - [C280345]', async () => {
|
it('Favorite multiple items - all unfavorite - [C280345]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderSite);
|
await page.dataTable.doubleClickOnRowByName(folderSite);
|
||||||
await dataTable.selectMultipleItems([ fileSiteNotFav1, fileSiteNotFav2 ]);
|
await dataTable.selectMultipleItems([ fileSiteNotFav1, fileSiteNotFav2 ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 7 });
|
||||||
const listItems1 = await Promise.all([
|
|
||||||
apis.user.favorites.isFavorite(fileSiteNotFav1Id),
|
const isFile1Fav = await apis.user.favorites.isFavorite(fileSiteNotFav1Id);
|
||||||
apis.user.favorites.isFavorite(fileSiteNotFav2Id)
|
const isFile2Fav = await apis.user.favorites.isFavorite(fileSiteNotFav2Id);
|
||||||
]);
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(listItems1[0]).toBe(true, 'item not marked as favorite');
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(listItems1[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
||||||
await apis.user.favorites.removeFavoriteById(fileSiteNotFav2Id);
|
await apis.user.favorites.removeFavoriteById(fileSiteNotFav2Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Unfavorite multiple items - [C280346]', async () => {
|
it('Unfavorite multiple items - [C280346]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderSite);
|
await page.dataTable.doubleClickOnRowByName(folderSite);
|
||||||
await dataTable.selectMultipleItems([ fileSiteFav1, fileSiteFav2 ]);
|
await dataTable.selectMultipleItems([ fileSiteFav1, fileSiteFav2 ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
const listItems2 = await Promise.all([
|
await apis.user.favorites.waitForApi({ expect: 3 });
|
||||||
apis.user.favorites.isFavorite(fileSiteFav1Id),
|
const isFile1Fav = await apis.user.favorites.isFavorite(fileSiteFav1Id);
|
||||||
apis.user.favorites.isFavorite(fileSiteFav2Id)
|
const isFile2Fav = await apis.user.favorites.isFavorite(fileSiteFav2Id);
|
||||||
]);
|
expect(isFile1Fav).toBe(false, 'item marked as favorite');
|
||||||
expect(listItems2[0]).toBe(false, 'item marked as favorite');
|
expect(isFile2Fav).toBe(false, 'item marked as favorite');
|
||||||
expect(listItems2[1]).toBe(false, 'item marked as favorite');
|
|
||||||
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
await apis.user.favorites.addFavoriteById('file', fileSiteFav1Id);
|
||||||
await apis.user.favorites.addFavoriteById('file', fileSiteFav2Id);
|
await apis.user.favorites.addFavoriteById('file', fileSiteFav2Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Favorite multiple items - some favorite and some unfavorite - [C280347]', async () => {
|
it('Favorite multiple items - some favorite and some unfavorite - [C280347]', async () => {
|
||||||
await fileLibrariesPage.dataTable.doubleClickOnRowByName(folderSite);
|
await page.dataTable.doubleClickOnRowByName(folderSite);
|
||||||
await dataTable.selectMultipleItems([ fileSiteNotFav1, fileSiteFav1 ]);
|
await dataTable.selectMultipleItems([ fileSiteNotFav1, fileSiteFav1 ]);
|
||||||
await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await toolbar.menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
await apis.user.favorites.waitForApi({ expect: 3 });
|
await apis.user.favorites.waitForApi({ expect: 6 });
|
||||||
const listItems3 = await Promise.all([
|
|
||||||
apis.user.favorites.isFavorite(fileSiteNotFav1Id),
|
const isFile1Fav = await apis.user.favorites.isFavorite(fileSiteNotFav1Id);
|
||||||
apis.user.favorites.isFavorite(fileSiteFav1)
|
const isFile2Fav = await apis.user.favorites.isFavorite(fileSiteFav1);
|
||||||
]);
|
expect(isFile1Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(listItems3[0]).toBe(true, 'item not marked as favorite');
|
expect(isFile2Fav).toBe(true, 'item not marked as favorite');
|
||||||
expect(listItems3[1]).toBe(true, 'item not marked as favorite');
|
|
||||||
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
await apis.user.favorites.removeFavoriteById(fileSiteNotFav1Id);
|
||||||
|
await apis.user.favorites.waitForApi({ expect: 5 });
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser, protractor } from 'protractor';
|
|
||||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||||
import { Viewer } from '../../components/viewer/viewer';
|
import { Viewer } from '../../components/viewer/viewer';
|
||||||
import { SIDEBAR_LABELS } from '../../configs';
|
import { SIDEBAR_LABELS } from '../../configs';
|
||||||
@ -72,20 +71,18 @@ describe('Single click on item name', () => {
|
|||||||
|
|
||||||
await apis.user.favorites.addFavoriteById('file', file1Id);
|
await apis.user.favorites.addFavoriteById('file', file1Id);
|
||||||
await apis.user.favorites.addFavoriteById('folder', folder1Id);
|
await apis.user.favorites.addFavoriteById('folder', folder1Id);
|
||||||
await apis.user.favorites.waitForApi({ expect: 2 });
|
await apis.user.favorites.waitForApi({ expect: 2 + 1 });
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.sites.deleteSite(siteName);
|
||||||
apis.user.sites.deleteSite(siteName),
|
await apis.user.nodes.deleteNodeById(folder1Id);
|
||||||
apis.user.nodes.deleteNodeById(folder1Id),
|
await apis.user.nodes.deleteNodeById(file1Id);
|
||||||
apis.user.nodes.deleteNodeById(file1Id),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -113,7 +110,7 @@ describe('Single click on item name', () => {
|
|||||||
|
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Navigate inside the folder when clicking the hyperlink - [C280034]', async () => {
|
it('Navigate inside the folder when clicking the hyperlink - [C280034]', async () => {
|
||||||
@ -158,7 +155,7 @@ describe('Single click on item name', () => {
|
|||||||
|
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -178,7 +175,7 @@ describe('Single click on item name', () => {
|
|||||||
|
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -198,7 +195,7 @@ describe('Single click on item name', () => {
|
|||||||
|
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Navigate inside the folder when clicking the hyperlink - [C284911]', async () => {
|
it('Navigate inside the folder when clicking the hyperlink - [C284911]', async () => {
|
||||||
|
@ -98,7 +98,8 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async done => {
|
afterAll(async done => {
|
||||||
await Promise.all([apis.admin.sites.deleteSite(siteName), logoutPage.load()]);
|
await apis.admin.sites.deleteSite(siteName);
|
||||||
|
await logoutPage.load();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -119,11 +120,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -134,11 +135,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -149,12 +150,12 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -176,11 +177,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -192,12 +193,12 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${file1}`);
|
||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
|
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -209,12 +210,12 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${file1}`);
|
||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${file1}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${file1}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${file1}`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${file1}`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${file1}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${file1}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -236,11 +237,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${folder1}`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${folder1}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${folder1}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${folder1}`);
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folder1}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${folder1}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${folder1}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folder1}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -253,18 +254,18 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${folder1}`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed for ${folder1}`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${folder1}`);
|
// expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${folder1}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folder1}`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${folder1}`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for ${folder1}`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${folder1}`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for ${folder1}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folder1}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folder1}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('toolbar actions appear correctly for multiple selection of files - consumer', () => {
|
describe('toolbar actions appear correctly for multiple selection of files - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
@ -279,11 +280,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -294,11 +295,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -309,18 +310,18 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('toolbar actions appear correctly for multiple selection of folders - consumer', () => {
|
describe('toolbar actions appear correctly for multiple selection of folders - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
@ -335,11 +336,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -350,12 +351,12 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -376,11 +377,11 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -391,18 +392,18 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for selected files`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for selected files`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed for selected files`);
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
// expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('context menu actions are correct for a file - consumer', () => {
|
describe('context menu actions are correct for a file - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -465,7 +466,7 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('context menu actions are correct for a folder - consumer', () => {
|
describe('context menu actions are correct for a folder - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -509,7 +510,7 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('context menu actions are correct for multiple selection of files - consumer', () => {
|
describe('context menu actions are correct for multiple selection of files - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
@ -562,7 +563,7 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('context menu actions are correct for multiple selection of folders - consumer', () => {
|
describe('context menu actions are correct for multiple selection of folders - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
@ -601,7 +602,7 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('context menu actions are correct when both files and folders are selected - consumer', () => {
|
describe('context menu actions are correct when both files and folders are selected - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
@ -640,7 +641,7 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe('toolbar actions appear correctly in the viewer - consumer', () => {
|
describe('toolbar actions appear correctly in the viewer - consumer', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -659,14 +660,14 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
||||||
const menu = await viewerToolbar.openMoreMenu();
|
await viewerToolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -682,13 +683,13 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
||||||
const menu = await viewerToolbar.openMoreMenu();
|
await viewerToolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -704,15 +705,15 @@ describe('Granular permissions available actions : ', () => {
|
|||||||
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Print')).toBe(true, `Print is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `Full screen is not displayed`);
|
||||||
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
expect(await viewerToolbar.isButtonPresent('View details')).toBe(true, `View details is not displayed`);
|
||||||
const menu = await viewerToolbar.openMoreMenu();
|
await viewerToolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Share')).toBe(true, `Share is not displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed`);
|
||||||
// TODO: enable when ACA-1737 is done
|
// TODO: enable when ACA-1737 is done
|
||||||
// expect(await menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
// expect(await viewerToolbar.menu.isMenuItemPresent('Move')).toBe(false, `Move is displayed`);
|
||||||
// expect(await menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
// expect(await viewerToolbar.menu.isMenuItemPresent('Delete')).toBe(false, `Delete is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Manage Versions')).toBe(true, `Manage versions is displayed`);
|
||||||
expect(await menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
expect(await viewerToolbar.menu.isMenuItemPresent('Permissions')).toBe(false, `Permissions is displayed`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -32,14 +32,14 @@ import { Utils } from '../../utilities/utils';
|
|||||||
describe('Toolbar actions - multiple selection : ', () => {
|
describe('Toolbar actions - multiple selection : ', () => {
|
||||||
const username = `user-${Utils.random()}`;
|
const username = `user-${Utils.random()}`;
|
||||||
|
|
||||||
const file1 = `file-${Utils.random()}.txt`;
|
const file1 = `file1-${Utils.random()}.txt`;
|
||||||
let file1Id;
|
let file1Id;
|
||||||
const file2 = `file-${Utils.random()}.txt`;
|
const file2 = `file2-${Utils.random()}.txt`;
|
||||||
let file2Id;
|
let file2Id;
|
||||||
|
|
||||||
const folder1 = `folder-${Utils.random()}`;
|
const folder1 = `folder1-${Utils.random()}`;
|
||||||
let folder1Id;
|
let folder1Id;
|
||||||
const folder2 = `folder-${Utils.random()}`;
|
const folder2 = `folder2-${Utils.random()}`;
|
||||||
let folder2Id;
|
let folder2Id;
|
||||||
|
|
||||||
const fileForDelete1 = `file-${Utils.random()}.txt`;
|
const fileForDelete1 = `file-${Utils.random()}.txt`;
|
||||||
@ -87,15 +87,16 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
await apis.user.favorites.waitForApi({ expect: 4 });
|
await apis.user.favorites.waitForApi({ expect: 4 });
|
||||||
|
|
||||||
await apis.user.nodes.deleteNodesById([fileForDelete1Id, fileForDelete2Id, folderForDelete1Id, folderForDelete2Id], false);
|
await apis.user.nodes.deleteNodesById([fileForDelete1Id, fileForDelete2Id, folderForDelete1Id, folderForDelete2Id], false);
|
||||||
|
await apis.user.trashcan.waitForApi({ expect: 4 });
|
||||||
|
|
||||||
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
|
await apis.user.sites.createSite(siteName, SITE_VISIBILITY.PRIVATE);
|
||||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||||
await Promise.all([
|
await apis.user.nodes.createFile(file1InSite, docLibId);
|
||||||
apis.user.nodes.createFile(file1InSite, docLibId),
|
await apis.user.nodes.createFile(file2InSite, docLibId);
|
||||||
apis.user.nodes.createFile(file2InSite, docLibId),
|
await apis.user.nodes.createFolder(folder1InSite, docLibId);
|
||||||
apis.user.nodes.createFolder(folder1InSite, docLibId),
|
await apis.user.nodes.createFolder(folder2InSite, docLibId);
|
||||||
apis.user.nodes.createFolder(folder2InSite, docLibId)
|
await apis.user.search.waitForApi(username, { expect: 4 });
|
||||||
]);
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -114,9 +115,10 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
|
|
||||||
describe('Personal Files', () => {
|
describe('Personal Files', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -148,11 +150,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -161,11 +163,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -174,23 +176,24 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('File Libraries', () => {
|
describe('File Libraries', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.doubleClickOnRowByName(siteName);
|
await dataTable.doubleClickOnRowByName(siteName);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -199,11 +202,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed for selected files');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed for selected files');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('correct actions appear when multiple folders are selected - [C280462]', async () => {
|
it('correct actions appear when multiple folders are selected - [C280462]', async () => {
|
||||||
@ -211,11 +214,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('correct actions appear when both files and folders are selected - [C280463]', async () => {
|
it('correct actions appear when both files and folders are selected - [C280463]', async () => {
|
||||||
@ -223,20 +226,21 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Shared Files', () => {
|
describe('Shared Files', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -245,20 +249,21 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed for selected files');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Recent Files', () => {
|
describe('Recent Files', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -267,20 +272,21 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Favorites', () => {
|
describe('Favorites', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
// await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -289,11 +295,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('correct actions appear when multiple folders are selected - [C280470]', async () => {
|
it('correct actions appear when multiple folders are selected - [C280470]', async () => {
|
||||||
@ -301,11 +307,11 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('correct actions appear when both files and folders are selected - [C280471]', async () => {
|
it('correct actions appear when both files and folders are selected - [C280471]', async () => {
|
||||||
@ -313,19 +319,20 @@ describe('Toolbar actions - multiple selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
expect(await toolbar.isButtonPresent('View')).toBe(false, 'View is displayed');
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, 'Download is not displayed for selected files');
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, 'Edit is displayed');
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for selected files`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for selected files`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Trash', () => {
|
describe('Trash', () => {
|
||||||
beforeEach(async done => {
|
beforeEach(async done => {
|
||||||
await dataTable.clearSelection();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@
|
|||||||
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { browser, protractor } from 'protractor';
|
|
||||||
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
import { LoginPage, LogoutPage, BrowsingPage } from '../../pages/pages';
|
||||||
import { SITE_VISIBILITY, SIDEBAR_LABELS } from '../../configs';
|
import { SITE_VISIBILITY, SIDEBAR_LABELS } from '../../configs';
|
||||||
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
import { RepoClient } from '../../utilities/repo-client/repo-client';
|
||||||
@ -110,10 +109,10 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
|
|
||||||
describe('Personal Files', () => {
|
describe('Personal Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await dataTable.clearSelection();
|
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.PERSONAL_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -127,11 +126,11 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -141,22 +140,23 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('File Libraries', () => {
|
describe('File Libraries', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FILE_LIBRARIES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
await dataTable.doubleClickOnRowByName(siteName);
|
await dataTable.doubleClickOnRowByName(siteName);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -170,11 +170,11 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileInSite}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileInSite}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileInSite}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileInSite}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileInSite}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileInSite}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileInSite}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -184,20 +184,21 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderInSite}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderInSite}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderInSite}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderInSite}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderInSite}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderInSite}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderInSite}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderInSite}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderInSite}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Shared Files', () => {
|
describe('Shared Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await page.dataTable.waitForHeader();
|
await page.dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -211,20 +212,21 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Recent Files', () => {
|
describe('Recent Files', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -238,20 +240,21 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Favorites', () => {
|
describe('Favorites', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -265,11 +268,11 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(true, `View is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not displayed for ${fileUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(false, `Edit is displayed for ${fileUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${fileUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${fileUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -279,20 +282,21 @@ describe('Toolbar actions - single selection : ', () => {
|
|||||||
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('View')).toBe(false, `View is displayed for ${folderUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('Download')).toBe(true, `Download is not enabled for ${folderUser}`);
|
||||||
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
|
expect(await toolbar.isButtonPresent('Edit')).toBe(true, `Edit is not displayed for ${folderUser}`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `Copy is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `Delete is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `Move is not displayed for ${folderUser}`);
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `Favorite is not displayed for ${folderUser}`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Trash', () => {
|
describe('Trash', () => {
|
||||||
beforeEach(async (done) => {
|
beforeEach(async (done) => {
|
||||||
await browser.actions().sendKeys(protractor.Key.ESCAPE);
|
await Utils.pressEscape();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.TRASH);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
await dataTable.clearSelection();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -60,13 +60,11 @@ describe('Login', () => {
|
|||||||
const newPassword = 'new password';
|
const newPassword = 'new password';
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
await peopleApi.createUser({ username: testUser });
|
||||||
peopleApi.createUser({ username: testUser }),
|
await peopleApi.createUser(russianUser);
|
||||||
peopleApi.createUser(russianUser),
|
await peopleApi.createUser(johnDoe);
|
||||||
peopleApi.createUser(johnDoe),
|
await peopleApi.createUser({ username: disabledUser });
|
||||||
peopleApi.createUser({ username: disabledUser }),
|
await peopleApi.createUser(testUser2);
|
||||||
peopleApi.createUser(testUser2)
|
|
||||||
]);
|
|
||||||
await peopleApi.disableUser(disabledUser);
|
await peopleApi.disableUser(disabledUser);
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
@ -114,7 +112,7 @@ describe('Login', () => {
|
|||||||
const { username, firstName, lastName } = johnDoe;
|
const { username, firstName, lastName } = johnDoe;
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
expect(userInfo.name).toEqual(`${firstName} ${lastName}`);
|
expect(await userInfo.getName()).toEqual(`${firstName} ${lastName}`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`logs in with user having username containing "@" - [C213096]`, async () => {
|
it(`logs in with user having username containing "@" - [C213096]`, async () => {
|
||||||
@ -126,9 +124,10 @@ describe('Login', () => {
|
|||||||
const { username, password } = russianUser;
|
const { username, password } = russianUser;
|
||||||
|
|
||||||
await loginPage.loginWith(username, password);
|
await loginPage.loginWith(username, password);
|
||||||
expect(browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
|
expect(await browser.getCurrentUrl()).toContain(APP_ROUTES.PERSONAL_FILES);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// TODO: ACA-245
|
||||||
xit('redirects to Home Page when navigating to the Login page while already logged in - [C213107]', async () => {
|
xit('redirects to Home Page when navigating to the Login page while already logged in - [C213107]', async () => {
|
||||||
const { username } = johnDoe;
|
const { username } = johnDoe;
|
||||||
|
|
||||||
|
@ -104,8 +104,9 @@ describe('Extensions - Info Drawer', () => {
|
|||||||
await page.toolbar.getButtonByTitleAttribute('View details').click();
|
await page.toolbar.getButtonByTitleAttribute('View details').click();
|
||||||
await infoDrawer.waitForInfoDrawerToOpen();
|
await infoDrawer.waitForInfoDrawerToOpen();
|
||||||
|
|
||||||
|
const val = await infoDrawer.getTabTitle(custom_tab.order);
|
||||||
expect(await infoDrawer.isTabPresent(custom_tab.title)).toBe(true, `${custom_tab.title} tab is not present`);
|
expect(await infoDrawer.isTabPresent(custom_tab.title)).toBe(true, `${custom_tab.title} tab is not present`);
|
||||||
expect(await infoDrawer.getTabTitle(custom_tab.order)).toEqual(`${custom_tab.icon}\n${custom_tab.title}\n`);
|
expect(val).toEqual(`${custom_tab.icon}\n${custom_tab.title}\n`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Remove existing tab - [C284647]', async () => {
|
it('Remove existing tab - [C284647]', async () => {
|
||||||
|
@ -90,10 +90,8 @@ describe('Extensions - Viewer', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodesById([ pdfFileId, docxFileId ]);
|
||||||
apis.user.nodes.deleteNodesById([ pdfFileId, docxFileId ]),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -106,7 +104,7 @@ describe('Extensions - Viewer', () => {
|
|||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
})
|
});
|
||||||
|
|
||||||
xit('');
|
xit('');
|
||||||
|
|
||||||
|
@ -63,13 +63,11 @@ describe('Favorites', () => {
|
|||||||
const file3Id = (await apis.user.nodes.createFile(fileName3, parentId)).entry.id;
|
const file3Id = (await apis.user.nodes.createFile(fileName3, parentId)).entry.id;
|
||||||
const file4Id = (await apis.user.nodes.createFile(fileName4, parentId)).entry.id;
|
const file4Id = (await apis.user.nodes.createFile(fileName4, parentId)).entry.id;
|
||||||
|
|
||||||
await Promise.all([
|
await apis.user.favorites.addFavoriteById('file', file1Id);
|
||||||
apis.user.favorites.addFavoriteById('file', file1Id),
|
await apis.user.favorites.addFavoriteById('folder', folderId);
|
||||||
apis.user.favorites.addFavoriteById('folder', folderId),
|
await apis.user.favorites.addFavoriteById('file', file2Id);
|
||||||
apis.user.favorites.addFavoriteById('file', file2Id),
|
await apis.user.favorites.addFavoriteById('file', file3Id);
|
||||||
apis.user.favorites.addFavoriteById('file', file3Id),
|
await apis.user.favorites.addFavoriteById('file', file4Id);
|
||||||
apis.user.favorites.addFavoriteById('file', file4Id)
|
|
||||||
]);
|
|
||||||
await apis.user.nodes.deleteNodeById(file3Id, false);
|
await apis.user.nodes.deleteNodeById(file3Id, false);
|
||||||
await apis.user.nodes.deleteNodeById(file4Id, false);
|
await apis.user.nodes.deleteNodeById(file4Id, false);
|
||||||
await apis.user.trashcan.restore(file4Id);
|
await apis.user.trashcan.restore(file4Id);
|
||||||
@ -85,24 +83,20 @@ describe('Favorites', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.admin.sites.deleteSite(siteName);
|
||||||
apis.admin.sites.deleteSite(siteName),
|
await apis.user.nodes.deleteNodes([ favFolderName, parentFolder ]);
|
||||||
apis.user.nodes.deleteNodes([ favFolderName, parentFolder ]),
|
await apis.admin.trashcan.emptyTrash();
|
||||||
apis.admin.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('has the correct columns - [C280482]', async () => {
|
it('has the correct columns - [C280482]', async () => {
|
||||||
const labels = [ 'Name', 'Location', 'Size', 'Modified', 'Modified by' ];
|
const expectedHeader = [ 'Thumbnail', 'Name', 'Location', 'Size', 'Modified', 'Modified by' ];
|
||||||
const elements = labels.map(label => dataTable.getColumnHeaderByLabel(label));
|
const headers = dataTable.getColumnHeaders();
|
||||||
|
const count = await headers.count();
|
||||||
|
expect(count).toBe(5 + 1, 'Incorrect number of columns');
|
||||||
|
|
||||||
expect(await dataTable.getColumnHeaders().count()).toBe(5 + 1, 'Incorrect number of columns');
|
expect(await dataTable.getHeaderText()).toEqual(expectedHeader);
|
||||||
|
|
||||||
await elements.forEach(async (element, index) => {
|
|
||||||
expect(await element.isPresent()).toBe(true, `"${labels[index]}" is missing`);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('displays the favorite files and folders - [C213226]', async () => {
|
it('displays the favorite files and folders - [C213226]', async () => {
|
||||||
@ -121,9 +115,9 @@ describe('Favorites', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays the parent folder of the files - [C213231]', async () => {
|
it('Location column displays the parent folder of the files - [C213231]', async () => {
|
||||||
expect(await dataTable.getItemLocation(fileName1).getText()).toEqual(siteName);
|
expect(await dataTable.getItemLocation(fileName1)).toEqual(siteName);
|
||||||
expect(await dataTable.getItemLocation(fileName2).getText()).toEqual(parentFolder);
|
expect(await dataTable.getItemLocation(fileName2)).toEqual(parentFolder);
|
||||||
expect(await dataTable.getItemLocation(favFolderName).getText()).toEqual('Personal Files');
|
expect(await dataTable.getItemLocation(favFolderName)).toEqual('Personal Files');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays a tooltip with the entire path of the file - [C213671]', async () => {
|
it('Location column displays a tooltip with the entire path of the file - [C213671]', async () => {
|
||||||
@ -144,7 +138,7 @@ describe('Favorites', () => {
|
|||||||
|
|
||||||
it('Location column redirect - file in site - [C280485]', async () => {
|
it('Location column redirect - file in site - [C280485]', async () => {
|
||||||
await dataTable.clickItemLocation(fileName1);
|
await dataTable.clickItemLocation(fileName1);
|
||||||
expect(await breadcrumb.getAllItems()).toEqual([ 'File Libraries', siteName ]);
|
expect(breadcrumb.getAllItems()).toEqual([ 'File Libraries', siteName ]);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Navigate into folder from Favorites - [C213230]', async () => {
|
it('Navigate into folder from Favorites - [C213230]', async () => {
|
||||||
|
@ -53,22 +53,18 @@ describe('File Libraries', () => {
|
|||||||
const { dataTable } = fileLibrariesPage;
|
const { dataTable } = fileLibrariesPage;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.admin.people.createUser({ username });
|
||||||
apis.admin.people.createUser({ username }),
|
await apis.admin.sites.createSite(sitePublic, SITE_VISIBILITY.PUBLIC);
|
||||||
apis.admin.sites.createSite(sitePublic, SITE_VISIBILITY.PUBLIC),
|
await apis.admin.sites.createSite(siteModerated, SITE_VISIBILITY.MODERATED, siteDescription);
|
||||||
apis.admin.sites.createSite(siteModerated, SITE_VISIBILITY.MODERATED, siteDescription),
|
await apis.admin.sites.createSite(sitePrivate, SITE_VISIBILITY.PRIVATE, null);
|
||||||
apis.admin.sites.createSite(sitePrivate, SITE_VISIBILITY.PRIVATE, null),
|
await apis.admin.sites.createSite(adminSite, SITE_VISIBILITY.PUBLIC);
|
||||||
apis.admin.sites.createSite(adminSite, SITE_VISIBILITY.PUBLIC),
|
await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC, null, siteId1);
|
||||||
apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC, null, siteId1),
|
await apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC, null, siteId2);
|
||||||
apis.admin.sites.createSite(siteName, SITE_VISIBILITY.PUBLIC, null, siteId2)
|
await apis.admin.sites.addSiteMember(sitePublic, username, SITE_ROLES.SITE_CONSUMER);
|
||||||
]);
|
await apis.admin.sites.addSiteMember(siteModerated, username, SITE_ROLES.SITE_MANAGER);
|
||||||
await Promise.all([
|
await apis.admin.sites.addSiteMember(sitePrivate, username, SITE_ROLES.SITE_CONTRIBUTOR);
|
||||||
apis.admin.sites.addSiteMember(sitePublic, username, SITE_ROLES.SITE_CONSUMER),
|
await apis.admin.sites.addSiteMember(siteId1, username, SITE_ROLES.SITE_CONTRIBUTOR);
|
||||||
apis.admin.sites.addSiteMember(siteModerated, username, SITE_ROLES.SITE_MANAGER),
|
await apis.admin.sites.addSiteMember(siteId2, username, SITE_ROLES.SITE_CONTRIBUTOR);
|
||||||
apis.admin.sites.addSiteMember(sitePrivate, username, SITE_ROLES.SITE_CONTRIBUTOR),
|
|
||||||
apis.admin.sites.addSiteMember(siteId1, username, SITE_ROLES.SITE_CONTRIBUTOR),
|
|
||||||
apis.admin.sites.addSiteMember(siteId2, username, SITE_ROLES.SITE_CONTRIBUTOR)
|
|
||||||
]);
|
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -81,10 +77,8 @@ describe('File Libraries', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.admin.sites.deleteSites([ sitePublic, siteModerated, sitePrivate, adminSite, siteId1, siteId2 ]);
|
||||||
apis.admin.sites.deleteSites([ sitePublic, siteModerated, sitePrivate, adminSite, siteId1, siteId2 ]),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -60,11 +60,9 @@ describe('Generic errors', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -82,7 +80,7 @@ describe('Generic errors', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Invalid URL - [C217315]', async () => {
|
it('Invalid URL - [C217315]', async () => {
|
||||||
await page.load('invalid page');
|
await page.load('/invalid page');
|
||||||
|
|
||||||
expect(await page.isGenericErrorDisplayed()).toBe(true, 'Generic error page not displayed');
|
expect(await page.isGenericErrorDisplayed()).toBe(true, 'Generic error page not displayed');
|
||||||
expect(await page.getGenericErrorTitle()).toContain(`This file or folder no longer exists or you don't have permission to view it.`);
|
expect(await page.getGenericErrorTitle()).toContain(`This file or folder no longer exists or you don't have permission to view it.`);
|
||||||
|
@ -144,21 +144,21 @@ describe('Special permissions', () => {
|
|||||||
await recentFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
await recentFilesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.RECENT_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
||||||
expect(await dataTable.getItemLocation(fileName).getText()).toEqual('');
|
expect(await dataTable.getItemLocation(fileName)).toEqual('');
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`on Favorites - [C213672]`, async () => {
|
it(`on Favorites - [C213672]`, async () => {
|
||||||
await favoritesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await favoritesPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
||||||
expect(await dataTable.getItemLocation(fileName).getText()).toEqual('');
|
expect(await dataTable.getItemLocation(fileName)).toEqual('');
|
||||||
});
|
});
|
||||||
|
|
||||||
it(`on Shared Files - [C213668]`, async () => {
|
it(`on Shared Files - [C213668]`, async () => {
|
||||||
await sharedPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
await sharedPage.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.SHARED_FILES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
expect(await dataTable.countRows()).toBe(1, 'Incorrect number of items');
|
||||||
expect(await dataTable.getItemLocation(fileName).getText()).toEqual('');
|
expect(await dataTable.getItemLocation(fileName)).toEqual('');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -76,12 +76,10 @@ describe('Recent Files', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodesById([ folderId, file2Id ]);
|
||||||
apis.user.nodes.deleteNodesById([ folderId, file2Id ]),
|
await apis.user.sites.deleteSite(siteName);
|
||||||
apis.user.sites.deleteSite(siteName),
|
await apis.admin.trashcan.emptyTrash();
|
||||||
apis.admin.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -113,9 +111,9 @@ describe('Recent Files', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays the parent folder of the file - [C213175]', async () => {
|
it('Location column displays the parent folder of the file - [C213175]', async () => {
|
||||||
expect(await dataTable.getItemLocation(fileName1).getText()).toEqual(folderName);
|
expect(await dataTable.getItemLocation(fileName1)).toEqual(folderName);
|
||||||
expect(await dataTable.getItemLocation(fileName2).getText()).toEqual('Personal Files');
|
expect(await dataTable.getItemLocation(fileName2)).toEqual('Personal Files');
|
||||||
expect(await dataTable.getItemLocation(fileSite).getText()).toEqual(folderSite);
|
expect(await dataTable.getItemLocation(fileSite)).toEqual(folderSite);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays a tooltip with the entire path of the file - [C213177]', async () => {
|
it('Location column displays a tooltip with the entire path of the file - [C213177]', async () => {
|
||||||
|
@ -33,9 +33,9 @@ describe('Shared Files', () => {
|
|||||||
const password = username;
|
const password = username;
|
||||||
|
|
||||||
const siteName = `site-${Utils.random()}`;
|
const siteName = `site-${Utils.random()}`;
|
||||||
const fileAdmin = `file-${Utils.random()}.txt`;
|
const fileAdmin = `fileSite-${Utils.random()}.txt`;
|
||||||
|
|
||||||
const folderUser = `folder-${Utils.random()}`;
|
const folderUser = `folder-${Utils.random()}`; let folderId;
|
||||||
const file1User = `file1-${Utils.random()}.txt`; let file1Id;
|
const file1User = `file1-${Utils.random()}.txt`; let file1Id;
|
||||||
const file2User = `file2-${Utils.random()}.txt`; let file2Id;
|
const file2User = `file2-${Utils.random()}.txt`; let file2Id;
|
||||||
const file3User = `file3-${Utils.random()}.txt`; let file3Id;
|
const file3User = `file3-${Utils.random()}.txt`; let file3Id;
|
||||||
@ -59,16 +59,17 @@ describe('Shared Files', () => {
|
|||||||
const nodeId = (await apis.admin.nodes.createFile(fileAdmin, docLibId)).entry.id;
|
const nodeId = (await apis.admin.nodes.createFile(fileAdmin, docLibId)).entry.id;
|
||||||
await apis.admin.shared.shareFileById(nodeId);
|
await apis.admin.shared.shareFileById(nodeId);
|
||||||
|
|
||||||
const folderId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
|
folderId = (await apis.user.nodes.createFolder(folderUser)).entry.id;
|
||||||
file1Id = (await apis.user.nodes.createFile(file1User, folderId)).entry.id;
|
file1Id = (await apis.user.nodes.createFile(file1User, folderId)).entry.id;
|
||||||
file2Id = (await apis.user.nodes.createFile(file2User)).entry.id;
|
file2Id = (await apis.user.nodes.createFile(file2User)).entry.id;
|
||||||
file3Id = (await apis.user.nodes.createFile(file3User)).entry.id;
|
file3Id = (await apis.user.nodes.createFile(file3User)).entry.id;
|
||||||
file4Id = (await apis.user.nodes.createFile(file4User)).entry.id;
|
file4Id = (await apis.user.nodes.createFile(file4User)).entry.id;
|
||||||
await apis.user.shared.shareFilesByIds([file1Id, file2Id, file3Id, file4Id]);
|
await apis.user.shared.shareFilesByIds([file1Id, file2Id, file3Id, file4Id]);
|
||||||
|
|
||||||
await apis.user.shared.waitForApi({ expect: 5 });
|
await apis.admin.shared.waitForApi({ expect: 5 });
|
||||||
await apis.user.nodes.deleteNodeById(file2Id);
|
await apis.user.nodes.deleteNodeById(file2Id);
|
||||||
await apis.user.shared.unshareFile(file3User);
|
await apis.user.shared.unshareFile(file3User);
|
||||||
|
await apis.admin.shared.waitForApi({ expect: 3 });
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -80,33 +81,25 @@ describe('Shared Files', () => {
|
|||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
|
||||||
await sharedFilesPage.refresh();
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.admin.sites.deleteSite(siteName);
|
||||||
apis.admin.sites.deleteSite(siteName),
|
await apis.user.nodes.deleteNodeById(folderId);
|
||||||
apis.user.nodes.deleteNodes([ folderUser ]),
|
await apis.user.nodes.deleteNodeById(file4Id);
|
||||||
logoutPage.load()
|
await logoutPage.load();
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('has the correct columns - [C213113]', async () => {
|
it('has the correct columns - [C213113]', async () => {
|
||||||
const labels = [ 'Name', 'Location', 'Size', 'Modified', 'Modified by', 'Shared by' ];
|
const expectedHeader = [ 'Thumbnail', 'Name', 'Location', 'Size', 'Modified', 'Modified by', 'Shared by' ];
|
||||||
const elements = labels.map(label => dataTable.getColumnHeaderByLabel(label));
|
const headers = dataTable.getColumnHeaders();
|
||||||
|
const count = await headers.count();
|
||||||
|
expect(count).toBe(6 + 1, 'Incorrect number of columns');
|
||||||
|
|
||||||
expect(await dataTable.getColumnHeaders().count()).toBe(6 + 1, 'Incorrect number of columns');
|
expect(await dataTable.getHeaderText()).toEqual(expectedHeader);
|
||||||
|
|
||||||
await elements.forEach(async (element, index) => {
|
|
||||||
expect(await element.isPresent()).toBe(true, `"${labels[index]}" is missing`);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('default sorting column - [C213115]', async () => {
|
it('default sorting column - [C213115]', async () => {
|
||||||
expect(await dataTable.getSortedColumnHeader().getText()).toBe('Modified');
|
expect(await dataTable.getSortedColumnHeaderText()).toBe('Modified');
|
||||||
expect(await dataTable.getSortingOrder()).toBe('desc');
|
expect(await dataTable.getSortingOrder()).toBe('desc');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -119,17 +112,14 @@ describe('Shared Files', () => {
|
|||||||
expect(await dataTable.getRowByName(file2User).isPresent()).toBe(false, `${file2User} is displayed`);
|
expect(await dataTable.getRowByName(file2User).isPresent()).toBe(false, `${file2User} is displayed`);
|
||||||
});
|
});
|
||||||
|
|
||||||
// TODO: disabled cause the api is slow to update. Find a way to wait until the file is unshared
|
it('unshared file is not displayed - [C213118]', async () => {
|
||||||
xit('unshared file is not displayed - [C213118]', async (done) => {
|
|
||||||
await apis.user.shared.waitForApi({ expect: 4 });
|
|
||||||
expect(await dataTable.getRowByName(file3User).isPresent()).toBe(false, `${file3User} is displayed`);
|
expect(await dataTable.getRowByName(file3User).isPresent()).toBe(false, `${file3User} is displayed`);
|
||||||
done();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays the parent folder of the file - [C213665]', async () => {
|
it('Location column displays the parent folder of the file - [C213665]', async () => {
|
||||||
expect(await dataTable.getItemLocationTileAttr(file4User)).toEqual('Personal Files');
|
expect(await dataTable.getItemLocationTileAttr(file4User)).toEqual('Personal Files');
|
||||||
expect(await dataTable.getItemLocation(fileAdmin).getText()).toEqual(siteName);
|
expect(await dataTable.getItemLocation(fileAdmin)).toEqual(siteName);
|
||||||
expect(await dataTable.getItemLocation(file1User).getText()).toEqual(folderUser);
|
expect(await dataTable.getItemLocation(file1User)).toEqual(folderUser);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column redirect - file in user Home - [C213666]', async () => {
|
it('Location column redirect - file in user Home - [C213666]', async () => {
|
||||||
|
@ -172,9 +172,9 @@ describe('Trash', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays the parent folder of the file - [C280498]', async () => {
|
it('Location column displays the parent folder of the file - [C280498]', async () => {
|
||||||
expect(await dataTable.getItemLocation(fileInFolder).getText()).toEqual(folderNotDeleted);
|
expect(await dataTable.getItemLocation(fileInFolder)).toEqual(folderNotDeleted);
|
||||||
expect(await dataTable.getItemLocation(fileUser).getText()).toEqual('Personal Files');
|
expect(await dataTable.getItemLocation(fileUser)).toEqual('Personal Files');
|
||||||
expect(await dataTable.getItemLocation(fileSite).getText()).toEqual(siteName);
|
expect(await dataTable.getItemLocation(fileSite)).toEqual(siteName);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column displays a tooltip with the entire path of the file - [C280499]', async () => {
|
it('Location column displays a tooltip with the entire path of the file - [C280499]', async () => {
|
||||||
@ -184,7 +184,7 @@ describe('Trash', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('Location column is empty if parent folder no longer exists - [C280500]', async () => {
|
it('Location column is empty if parent folder no longer exists - [C280500]', async () => {
|
||||||
expect(await dataTable.getItemLocation(fileDeleted).getText()).toEqual('');
|
expect(await dataTable.getItemLocation(fileDeleted)).toEqual('');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Location column redirect - file in user Home - [C217144]', async () => {
|
it('Location column redirect - file in user Home - [C217144]', async () => {
|
||||||
|
@ -169,7 +169,6 @@ describe('Breadcrumb', () => {
|
|||||||
await page.dataTable.doubleClickOnRowByName(folder1);
|
await page.dataTable.doubleClickOnRowByName(folder1);
|
||||||
await page.dataTable.wait();
|
await page.dataTable.wait();
|
||||||
await apis.user.nodes.renameNode(folder1Id, folder1Renamed)
|
await apis.user.nodes.renameNode(folder1Id, folder1Renamed)
|
||||||
// .then(done => done)
|
|
||||||
await page.refresh();
|
await page.refresh();
|
||||||
await page.dataTable.wait();
|
await page.dataTable.wait();
|
||||||
expect(await breadcrumb.getCurrentItemName()).toEqual(folder1Renamed);
|
expect(await breadcrumb.getCurrentItemName()).toEqual(folder1Renamed);
|
||||||
|
@ -66,7 +66,7 @@ describe('Pagination on multiple pages on Favorites', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ describe('Pagination on multiple pages on File Libraries', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ describe('Pagination on multiple pages on Personal Files', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ describe('Pagination on multiple pages on Recent Files', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -66,15 +66,13 @@ describe('Pagination on multiple pages on Shared Files', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -62,15 +62,13 @@ describe('Pagination on multiple pages on Trash', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async (done) => {
|
afterEach(async (done) => {
|
||||||
await browser.actions().mouseMove(browser.$('body'), { x: 0, y: 0 }).click().perform();
|
await Utils.pressEscape();
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -70,15 +70,11 @@ describe('Viewer actions', () => {
|
|||||||
const pdfPersonalFiles = `pdfPF-${Utils.random()}.pdf`;
|
const pdfPersonalFiles = `pdfPF-${Utils.random()}.pdf`;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id,
|
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id
|
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxPersonalFiles)).entry.id;
|
||||||
]);
|
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxPersonalFiles);
|
||||||
await Promise.all([
|
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfPersonalFiles);
|
||||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxPersonalFiles)).entry.id,
|
|
||||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxPersonalFiles),
|
|
||||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfPersonalFiles)
|
|
||||||
]);
|
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -98,12 +94,10 @@ describe('Viewer actions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.user.nodes.deleteNodeById(destinationId);
|
||||||
apis.user.nodes.deleteNodeById(destinationId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -117,14 +111,14 @@ describe('Viewer actions', () => {
|
|||||||
expect(await toolbar.isButtonPresent('Print')).toBe(true, `print`);
|
expect(await toolbar.isButtonPresent('Print')).toBe(true, `print`);
|
||||||
expect(await toolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `full screen`);
|
expect(await toolbar.isButtonPresent('Activate full-screen mode')).toBe(true, `full screen`);
|
||||||
expect(await toolbar.isButtonPresent('View details')).toBe(true, `view details`);
|
expect(await toolbar.isButtonPresent('View details')).toBe(true, `view details`);
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
expect(await menu.isMenuItemPresent('Favorite')).toBe(true, `favorite`);
|
expect(await toolbar.menu.isMenuItemPresent('Favorite')).toBe(true, `favorite`);
|
||||||
expect(await menu.isMenuItemPresent('Share')).toBe(true, `share`);
|
expect(await toolbar.menu.isMenuItemPresent('Share')).toBe(true, `share`);
|
||||||
expect(await menu.isMenuItemPresent('Copy')).toBe(true, `copy`);
|
expect(await toolbar.menu.isMenuItemPresent('Copy')).toBe(true, `copy`);
|
||||||
expect(await menu.isMenuItemPresent('Move')).toBe(true, `move`);
|
expect(await toolbar.menu.isMenuItemPresent('Move')).toBe(true, `move`);
|
||||||
expect(await menu.isMenuItemPresent('Delete')).toBe(true, `delete`);
|
expect(await toolbar.menu.isMenuItemPresent('Delete')).toBe(true, `delete`);
|
||||||
expect(await menu.isMenuItemPresent('Manage Versions')).toBe(true, `manage versions`);
|
expect(await toolbar.menu.isMenuItemPresent('Manage Versions')).toBe(true, `manage versions`);
|
||||||
expect(await menu.isMenuItemPresent('Permissions')).toBe(true, `permissions`);
|
expect(await toolbar.menu.isMenuItemPresent('Permissions')).toBe(true, `permissions`);
|
||||||
await toolbar.closeMoreMenu();
|
await toolbar.closeMoreMenu();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -140,8 +134,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Copy');
|
await toolbar.menu.clickMenuItem('Copy');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -162,8 +156,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(xlsxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Move');
|
await toolbar.menu.clickMenuItem('Move');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -181,12 +175,12 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
|
||||||
await viewer.clickClose();
|
await viewer.clickClose();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
||||||
expect(await dataTable.getRowByName(docxPersonalFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
expect(await dataTable.getRowByName(docxPersonalFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -194,8 +188,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(pdfPersonalFiles);
|
await dataTable.doubleClickOnRowByName(pdfPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
expect(await page.getSnackBarMessage()).toContain(`${pdfPersonalFiles} deleted`);
|
expect(await page.getSnackBarMessage()).toContain(`${pdfPersonalFiles} deleted`);
|
||||||
// TODO: enable this when ACA-1806 is fixed
|
// TODO: enable this when ACA-1806 is fixed
|
||||||
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
||||||
@ -221,8 +215,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await shareDialog.clickClose();
|
await shareDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -231,8 +225,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Manage Versions');
|
await toolbar.menu.clickMenuItem('Manage Versions');
|
||||||
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await manageVersionsDialog.clickClose();
|
await manageVersionsDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -242,8 +236,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
await dataTable.doubleClickOnRowByName(docxPersonalFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await Utils.pressEscape();
|
await Utils.pressEscape();
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(false, 'Dialog is still open');
|
expect(await shareDialog.isDialogOpen()).toBe(false, 'Dialog is still open');
|
||||||
@ -262,12 +256,10 @@ describe('Viewer actions', () => {
|
|||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await apis.user.sites.createSite(siteName);
|
await apis.user.sites.createSite(siteName);
|
||||||
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
const docLibId = await apis.user.sites.getDocLibId(siteName);
|
||||||
await Promise.all([
|
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id,
|
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, docLibId, docxLibraries)).entry.id;
|
||||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, docLibId, docxLibraries)).entry.id,
|
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, docLibId, xlsxLibraries);
|
||||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, docLibId, xlsxLibraries),
|
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, docLibId, pdfLibraries);
|
||||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, docLibId, pdfLibraries)
|
|
||||||
]);
|
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -287,12 +279,10 @@ describe('Viewer actions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.sites.deleteSite(siteName);
|
||||||
apis.user.sites.deleteSite(siteName),
|
await apis.user.nodes.deleteNodeById(destinationId);
|
||||||
apis.user.nodes.deleteNodeById(destinationId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -308,8 +298,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Copy');
|
await toolbar.menu.clickMenuItem('Copy');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -330,8 +320,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxLibraries);
|
await dataTable.doubleClickOnRowByName(xlsxLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Move');
|
await toolbar.menu.clickMenuItem('Move');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -349,21 +339,21 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
|
||||||
await viewer.clickClose();
|
await viewer.clickClose();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
expect(await dataTable.getRowByName(docxLibraries).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, `${docxLibraries} is not favorite`);
|
||||||
|
expect(await dataTable.getRowByName(docxLibraries).isPresent()).toBe(true, `${docxLibraries} is not present in Favorites list`);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Delete action - [C286373]', async () => {
|
it('Delete action - [C286373]', async () => {
|
||||||
await dataTable.doubleClickOnRowByName(pdfLibraries);
|
await dataTable.doubleClickOnRowByName(pdfLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
expect(await page.getSnackBarMessage()).toContain(`${pdfLibraries} deleted`);
|
expect(await page.getSnackBarMessage()).toContain(`${pdfLibraries} deleted`);
|
||||||
// TODO: enable this when ACA-1806 is fixed
|
// TODO: enable this when ACA-1806 is fixed
|
||||||
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
||||||
@ -377,8 +367,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await shareDialog.clickClose();
|
await shareDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -387,8 +377,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxLibraries);
|
await dataTable.doubleClickOnRowByName(docxLibraries);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Manage Versions');
|
await toolbar.menu.clickMenuItem('Manage Versions');
|
||||||
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await manageVersionsDialog.clickClose();
|
await manageVersionsDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -403,15 +393,12 @@ describe('Viewer actions', () => {
|
|||||||
const pdfRecentFiles = `pdfRF-${Utils.random()}.pdf`;
|
const pdfRecentFiles = `pdfRF-${Utils.random()}.pdf`;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.search.waitForApi(username, {expect: 0});
|
||||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id,
|
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id
|
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||||
]);
|
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxRecentFiles)).entry.id;
|
||||||
await Promise.all([
|
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxRecentFiles);
|
||||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxRecentFiles)).entry.id,
|
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfRecentFiles);
|
||||||
await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxRecentFiles),
|
|
||||||
await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfRecentFiles)
|
|
||||||
]);
|
|
||||||
|
|
||||||
await apis.user.search.waitForApi(username, {expect: 3});
|
await apis.user.search.waitForApi(username, {expect: 3});
|
||||||
|
|
||||||
@ -431,12 +418,10 @@ describe('Viewer actions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.user.nodes.deleteNodeById(destinationId);
|
||||||
apis.user.nodes.deleteNodeById(destinationId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -452,8 +437,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Copy');
|
await toolbar.menu.clickMenuItem('Copy');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -474,8 +459,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxRecentFiles);
|
await dataTable.doubleClickOnRowByName(xlsxRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Move');
|
await toolbar.menu.clickMenuItem('Move');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -494,12 +479,12 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
|
||||||
await viewer.clickClose();
|
await viewer.clickClose();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
||||||
expect(await dataTable.getRowByName(docxRecentFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
expect(await dataTable.getRowByName(docxRecentFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -507,8 +492,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(pdfRecentFiles);
|
await dataTable.doubleClickOnRowByName(pdfRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
expect(await page.getSnackBarMessage()).toContain(`${pdfRecentFiles} deleted`);
|
expect(await page.getSnackBarMessage()).toContain(`${pdfRecentFiles} deleted`);
|
||||||
// TODO: enable this when ACA-1806 is fixed
|
// TODO: enable this when ACA-1806 is fixed
|
||||||
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
||||||
@ -522,8 +507,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await shareDialog.clickClose();
|
await shareDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -532,8 +517,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
await dataTable.doubleClickOnRowByName(docxRecentFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Manage Versions');
|
await toolbar.menu.clickMenuItem('Manage Versions');
|
||||||
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await manageVersionsDialog.clickClose();
|
await manageVersionsDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -548,15 +533,11 @@ describe('Viewer actions', () => {
|
|||||||
const pdfSharedFiles = `pdfSF-${Utils.random()}.pdf`; let pdfFileId;
|
const pdfSharedFiles = `pdfSF-${Utils.random()}.pdf`; let pdfFileId;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id,
|
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id
|
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxSharedFiles)).entry.id;
|
||||||
]);
|
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxSharedFiles)).entry.id;
|
||||||
await Promise.all([
|
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfSharedFiles)).entry.id;
|
||||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxSharedFiles)).entry.id,
|
|
||||||
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxSharedFiles)).entry.id,
|
|
||||||
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfSharedFiles)).entry.id
|
|
||||||
]);
|
|
||||||
|
|
||||||
await apis.user.shared.shareFilesByIds([docxFileId, xlsxFileId, pdfFileId])
|
await apis.user.shared.shareFilesByIds([docxFileId, xlsxFileId, pdfFileId])
|
||||||
await apis.user.shared.waitForApi({expect: 3});
|
await apis.user.shared.waitForApi({expect: 3});
|
||||||
@ -577,12 +558,10 @@ describe('Viewer actions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.user.nodes.deleteNodeById(destinationId);
|
||||||
apis.user.nodes.deleteNodeById(destinationId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -598,8 +577,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Copy');
|
await toolbar.menu.clickMenuItem('Copy');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -620,8 +599,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxSharedFiles);
|
await dataTable.doubleClickOnRowByName(xlsxSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Move');
|
await toolbar.menu.clickMenuItem('Move');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -640,12 +619,12 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
|
||||||
await viewer.clickClose();
|
await viewer.clickClose();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
expect(await apis.user.favorites.isFavorite(docxFileId)).toBe(true, 'Item is not favorite');
|
||||||
expect(await dataTable.getRowByName(docxSharedFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
expect(await dataTable.getRowByName(docxSharedFiles).isPresent()).toBe(true, 'Item is not present in Favorites list');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -653,8 +632,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(pdfSharedFiles);
|
await dataTable.doubleClickOnRowByName(pdfSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
expect(await page.getSnackBarMessage()).toContain(`${pdfSharedFiles} deleted`);
|
expect(await page.getSnackBarMessage()).toContain(`${pdfSharedFiles} deleted`);
|
||||||
// TODO: enable this when ACA-1806 is fixed
|
// TODO: enable this when ACA-1806 is fixed
|
||||||
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
||||||
@ -669,8 +648,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await shareDialog.clickClose();
|
await shareDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -679,8 +658,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
await dataTable.doubleClickOnRowByName(docxSharedFiles);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Manage Versions');
|
await toolbar.menu.clickMenuItem('Manage Versions');
|
||||||
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await manageVersionsDialog.clickClose();
|
await manageVersionsDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -697,15 +676,11 @@ describe('Viewer actions', () => {
|
|||||||
const pdfFavorites = `pdfFav-${Utils.random()}.pdf`; let pdfFileId;
|
const pdfFavorites = `pdfFav-${Utils.random()}.pdf`; let pdfFileId;
|
||||||
|
|
||||||
beforeAll(async (done) => {
|
beforeAll(async (done) => {
|
||||||
await Promise.all([
|
parentId = (await apis.user.nodes.createFolder(parent)).entry.id;
|
||||||
parentId = (await apis.user.nodes.createFolder(parent)).entry.id,
|
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id;
|
||||||
destinationId = (await apis.user.nodes.createFolder(destination)).entry.id
|
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxFavorites)).entry.id;
|
||||||
]);
|
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxFavorites)).entry.id;
|
||||||
await Promise.all([
|
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfFavorites)).entry.id;
|
||||||
docxFileId = (await apis.user.upload.uploadFileWithRename(docxFile, parentId, docxFavorites)).entry.id,
|
|
||||||
xlsxFileId = (await apis.user.upload.uploadFileWithRename(xlsxFileForMove, parentId, xlsxFavorites)).entry.id,
|
|
||||||
pdfFileId = (await apis.user.upload.uploadFileWithRename(pdfFileForDelete, parentId, pdfFavorites)).entry.id
|
|
||||||
]);
|
|
||||||
|
|
||||||
await apis.user.favorites.addFavoritesByIds('file', [docxFileId, xlsxFileId, pdfFileId])
|
await apis.user.favorites.addFavoritesByIds('file', [docxFileId, xlsxFileId, pdfFileId])
|
||||||
await apis.user.favorites.waitForApi({expect: 3});
|
await apis.user.favorites.waitForApi({expect: 3});
|
||||||
@ -726,12 +701,10 @@ describe('Viewer actions', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.user.nodes.deleteNodeById(destinationId);
|
||||||
apis.user.nodes.deleteNodeById(destinationId),
|
await apis.user.trashcan.emptyTrash();
|
||||||
apis.user.trashcan.emptyTrash(),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -747,8 +720,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxFavorites);
|
await dataTable.doubleClickOnRowByName(docxFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Copy');
|
await toolbar.menu.clickMenuItem('Copy');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -769,8 +742,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxFavorites);
|
await dataTable.doubleClickOnRowByName(xlsxFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Move');
|
await toolbar.menu.clickMenuItem('Move');
|
||||||
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await copyMoveDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await copyMoveDialog.selectLocation('Personal Files');
|
await copyMoveDialog.selectLocation('Personal Files');
|
||||||
await copyMoveDialog.chooseDestination(destination);
|
await copyMoveDialog.chooseDestination(destination);
|
||||||
@ -789,12 +762,12 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(xlsxFavorites);
|
await dataTable.doubleClickOnRowByName(xlsxFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Favorite');
|
await toolbar.menu.clickMenuItem('Favorite');
|
||||||
expect(await apis.user.favorites.isFavorite(xlsxFileId)).toBe(false, 'Item is still favorite');
|
|
||||||
await viewer.clickClose();
|
await viewer.clickClose();
|
||||||
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
await page.sidenav.navigateToLinkByLabel(SIDEBAR_LABELS.FAVORITES);
|
||||||
await dataTable.waitForHeader();
|
await dataTable.waitForHeader();
|
||||||
|
expect(await apis.user.favorites.isFavorite(xlsxFileId)).toBe(false, 'Item is still favorite');
|
||||||
expect(await dataTable.getRowByName(xlsxFavorites).isPresent()).toBe(false, 'Item is still present in Favorites list');
|
expect(await dataTable.getRowByName(xlsxFavorites).isPresent()).toBe(false, 'Item is still present in Favorites list');
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -802,8 +775,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(pdfFavorites);
|
await dataTable.doubleClickOnRowByName(pdfFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Delete');
|
await toolbar.menu.clickMenuItem('Delete');
|
||||||
expect(await page.getSnackBarMessage()).toContain(`${pdfFavorites} deleted`);
|
expect(await page.getSnackBarMessage()).toContain(`${pdfFavorites} deleted`);
|
||||||
// TODO: enable this when ACA-1806 is fixed
|
// TODO: enable this when ACA-1806 is fixed
|
||||||
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
// expect(await viewer.isViewerOpened()).toBe(false, 'Viewer is opened');
|
||||||
@ -817,8 +790,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxFavorites);
|
await dataTable.doubleClickOnRowByName(docxFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Share');
|
await toolbar.menu.clickMenuItem('Share');
|
||||||
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await shareDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await shareDialog.clickClose();
|
await shareDialog.clickClose();
|
||||||
});
|
});
|
||||||
@ -827,8 +800,8 @@ describe('Viewer actions', () => {
|
|||||||
await dataTable.doubleClickOnRowByName(docxFavorites);
|
await dataTable.doubleClickOnRowByName(docxFavorites);
|
||||||
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
expect(await viewer.isViewerOpened()).toBe(true, 'Viewer is not opened');
|
||||||
|
|
||||||
const menu = await toolbar.openMoreMenu();
|
await toolbar.openMoreMenu();
|
||||||
await menu.clickMenuItem('Manage Versions');
|
await toolbar.menu.clickMenuItem('Manage Versions');
|
||||||
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
expect(await manageVersionsDialog.isDialogOpen()).toBe(true, 'Dialog is not open');
|
||||||
await manageVersionsDialog.clickClose();
|
await manageVersionsDialog.clickClose();
|
||||||
});
|
});
|
||||||
|
@ -70,7 +70,7 @@ describe('Viewer general', () => {
|
|||||||
await apis.user.shared.shareFileById(xlsxFileId);
|
await apis.user.shared.shareFileById(xlsxFileId);
|
||||||
await apis.user.shared.waitForApi({ expect: 1 });
|
await apis.user.shared.waitForApi({ expect: 1 });
|
||||||
await apis.user.favorites.addFavoriteById('file', xlsxFileId);
|
await apis.user.favorites.addFavoriteById('file', xlsxFileId);
|
||||||
await apis.user.favorites.waitForApi({ expect: 1 });
|
await apis.user.favorites.waitForApi({ expect: 2 });
|
||||||
|
|
||||||
await loginPage.loginWith(username);
|
await loginPage.loginWith(username);
|
||||||
done();
|
done();
|
||||||
@ -90,12 +90,10 @@ describe('Viewer general', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
afterAll(async (done) => {
|
afterAll(async (done) => {
|
||||||
await Promise.all([
|
await apis.user.nodes.deleteNodeById(parentId);
|
||||||
apis.user.nodes.deleteNodeById(parentId),
|
await apis.admin.sites.deleteSite(siteAdmin);
|
||||||
apis.admin.sites.deleteSite(siteAdmin),
|
await apis.user.sites.deleteSite(siteUser);
|
||||||
apis.user.sites.deleteSite(siteUser),
|
await logoutPage.load();
|
||||||
logoutPage.load()
|
|
||||||
]);
|
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
"outDir": "../out-tsc/e2e",
|
"outDir": "../out-tsc/e2e",
|
||||||
"baseUrl": "./",
|
"baseUrl": "./",
|
||||||
"module": "commonjs",
|
"module": "commonjs",
|
||||||
"target": "es5",
|
"target": "es2017",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
"jasmine",
|
||||||
"jasminewd2",
|
"jasminewd2",
|
||||||
|
@ -86,8 +86,8 @@ export class NodesApi extends RepoApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async deleteNodeChildren(parentId: string) {
|
async deleteNodeChildren(parentId: string) {
|
||||||
const nodeIds = (await this.getNodeChildren(parentId)).list.entries
|
const listEntries = (await this.getNodeChildren(parentId)).list.entries;
|
||||||
.map(entries => entries.entry.id);
|
const nodeIds = listEntries.map(entries => entries.entry.id);
|
||||||
return await this.deleteNodesById(nodeIds);
|
return await this.deleteNodesById(nodeIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ export class RepoClient {
|
|||||||
private password: string = RepoClientAuth.DEFAULT_PASSWORD
|
private password: string = RepoClientAuth.DEFAULT_PASSWORD
|
||||||
) {}
|
) {}
|
||||||
|
|
||||||
private get auth(): RepoClientAuth {
|
private get auth() {
|
||||||
const { username, password } = this;
|
const { username, password } = this;
|
||||||
return { username, password };
|
return { username, password };
|
||||||
}
|
}
|
||||||
|
@ -30,11 +30,8 @@ const fs = require('fs');
|
|||||||
|
|
||||||
export class Utils {
|
export class Utils {
|
||||||
// generate a random value
|
// generate a random value
|
||||||
static random(): string {
|
static random() {
|
||||||
return Math.random()
|
return Math.random().toString(36).substring(5, 10).toLowerCase();
|
||||||
.toString(36)
|
|
||||||
.substring(5, 10)
|
|
||||||
.toLowerCase();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// local storage
|
// local storage
|
||||||
@ -51,17 +48,17 @@ export class Utils {
|
|||||||
return browser.executeScript('return window.sessionStorage.getItem("aca.extension.config");');
|
return browser.executeScript('return window.sessionStorage.getItem("aca.extension.config");');
|
||||||
}
|
}
|
||||||
|
|
||||||
static async setSessionStorageFromConfig(key: string, configFileName: string) {
|
static setSessionStorageFromConfig(key: string, configFileName: string) {
|
||||||
const configFile = `${E2E_ROOT_PATH}/resources/extensibility-configs/${configFileName}`;
|
const configFile = `${E2E_ROOT_PATH}/resources/extensibility-configs/${configFileName}`;
|
||||||
const fileContent = JSON.stringify(fs.readFileSync(configFile, { encoding: 'utf8' }));
|
const fileContent = JSON.stringify(fs.readFileSync(configFile, { encoding: 'utf8' }));
|
||||||
|
|
||||||
return await browser.executeScript(`window.sessionStorage.setItem(${key}, ${fileContent});`);
|
return browser.executeScript(`window.sessionStorage.setItem(${key}, ${fileContent});`);
|
||||||
}
|
}
|
||||||
|
|
||||||
static async resetExtensionConfig() {
|
static resetExtensionConfig() {
|
||||||
const defConfig = `${E2E_ROOT_PATH}/resources/extensibility-configs/${EXTENSIBILITY_CONFIGS.DEFAULT_EXTENSIONS_CONFIG}`;
|
const defConfig = `${E2E_ROOT_PATH}/resources/extensibility-configs/${EXTENSIBILITY_CONFIGS.DEFAULT_EXTENSIONS_CONFIG}`;
|
||||||
|
|
||||||
return await this.setSessionStorageFromConfig('"aca.extension.config"', defConfig);
|
return this.setSessionStorageFromConfig('"aca.extension.config"', defConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
static retryCall(fn: () => Promise<any>, retry: number = 30, delay: number = 1000): Promise<any> {
|
static retryCall(fn: () => Promise<any>, retry: number = 30, delay: number = 1000): Promise<any> {
|
||||||
@ -72,20 +69,23 @@ export class Utils {
|
|||||||
return run(retry);
|
return run(retry);
|
||||||
}
|
}
|
||||||
|
|
||||||
static waitUntilElementClickable(element: ElementFinder) {
|
static async waitUntilElementClickable(element: ElementFinder) {
|
||||||
return browser.wait(EC.elementToBeClickable(element), BROWSER_WAIT_TIMEOUT);
|
return await browser.wait(EC.elementToBeClickable(element), BROWSER_WAIT_TIMEOUT).catch(Error);
|
||||||
|
// static waitUntilElementClickable(element: ElementFinder) {
|
||||||
|
// return browser.wait(EC.elementToBeClickable(element), BROWSER_WAIT_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
static typeInField(elem: ElementFinder, value: string) {
|
static async typeInField(elem: ElementFinder, value: string) {
|
||||||
for (let i = 0; i < value.length; i++) {
|
for (let i = 0; i < value.length; i++) {
|
||||||
const c = value.charAt(i);
|
const c = value.charAt(i);
|
||||||
elem.sendKeys(c);
|
await elem.sendKeys(c);
|
||||||
browser.sleep(100);
|
await browser.sleep(100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static async fileExistsOnOS(fileName: string) {
|
static async fileExistsOnOS(fileName: string) {
|
||||||
const filePath = path.join((await browser.getProcessedConfig()).params.downloadFolder, fileName);
|
const config = await browser.getProcessedConfig();
|
||||||
|
const filePath = path.join(config.params.downloadFolder, fileName);
|
||||||
|
|
||||||
let tries = 5;
|
let tries = 5;
|
||||||
|
|
||||||
@ -108,17 +108,11 @@ export class Utils {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static async pressEscape() {
|
static pressEscape() {
|
||||||
return await browser
|
return browser.actions().sendKeys(protractor.Key.ESCAPE).perform();
|
||||||
.actions()
|
|
||||||
.sendKeys(protractor.Key.ESCAPE)
|
|
||||||
.perform();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static async getBrowserLog() {
|
static getBrowserLog() {
|
||||||
return await browser
|
return browser.manage().logs().get('browser');
|
||||||
.manage()
|
|
||||||
.logs()
|
|
||||||
.get('browser');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,9 @@
|
|||||||
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
// https://github.com/angular/protractor/blob/master/lib/config.ts
|
||||||
|
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { SpecReporter } = require('jasmine-spec-reporter');
|
const {
|
||||||
|
SpecReporter
|
||||||
|
} = require('jasmine-spec-reporter');
|
||||||
const jasmineReporters = require('jasmine-reporters');
|
const jasmineReporters = require('jasmine-reporters');
|
||||||
const CDP = require('chrome-remote-interface');
|
const CDP = require('chrome-remote-interface');
|
||||||
|
|
||||||
@ -30,7 +32,7 @@ function rmDir(dirPath) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
exports.config = {
|
exports.config = {
|
||||||
allScriptsTimeout: 40000,
|
allScriptsTimeout: 50000,
|
||||||
|
|
||||||
params: {
|
params: {
|
||||||
downloadFolder: downloadFolder
|
downloadFolder: downloadFolder
|
||||||
@ -48,6 +50,7 @@ exports.config = {
|
|||||||
'./e2e/suites/extensions/*.test.ts'
|
'./e2e/suites/extensions/*.test.ts'
|
||||||
],
|
],
|
||||||
|
|
||||||
|
SELENIUM_PROMISE_MANAGER: true,
|
||||||
capabilities: {
|
capabilities: {
|
||||||
browserName: 'chrome',
|
browserName: 'chrome',
|
||||||
chromeOptions: {
|
chromeOptions: {
|
||||||
@ -58,13 +61,14 @@ exports.config = {
|
|||||||
default_directory: downloadFolder
|
default_directory: downloadFolder
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
args: ['--incognito', '--headless', '--remote-debugging-port=9222']
|
args: ['--incognito', '--headless', '--remote-debugging-port=9222', '--disable-gpu', '--no-sandbox']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
directConnect: true,
|
directConnect: true,
|
||||||
|
|
||||||
// baseUrl: 'http://localhost:4000',
|
// baseUrl: 'http://localhost:4000',
|
||||||
|
getPageTimeout: 50000,
|
||||||
|
|
||||||
framework: 'jasmine2',
|
framework: 'jasmine2',
|
||||||
jasmineNodeOpts: {
|
jasmineNodeOpts: {
|
||||||
@ -73,8 +77,7 @@ exports.config = {
|
|||||||
print: function () {}
|
print: function () {}
|
||||||
},
|
},
|
||||||
|
|
||||||
plugins: [
|
plugins: [{
|
||||||
{
|
|
||||||
package: 'jasmine2-protractor-utils',
|
package: 'jasmine2-protractor-utils',
|
||||||
disableHTMLReport: false,
|
disableHTMLReport: false,
|
||||||
disableScreenshot: false,
|
disableScreenshot: false,
|
||||||
@ -83,8 +86,7 @@ exports.config = {
|
|||||||
clearFoldersBeforeTest: true,
|
clearFoldersBeforeTest: true,
|
||||||
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
htmlReportDir: `${projectRoot}/e2e-output/html-report/`,
|
||||||
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
screenshotPath: `${projectRoot}/e2e-output/screenshots/`
|
||||||
}
|
}],
|
||||||
],
|
|
||||||
|
|
||||||
onPrepare() {
|
onPrepare() {
|
||||||
require('ts-node').register({
|
require('ts-node').register({
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
"extends": "../tsconfig.json",
|
"extends": "../tsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "../out-tsc/spec",
|
"outDir": "../out-tsc/spec",
|
||||||
|
"target": "es2017",
|
||||||
"types": ["jasmine", "node"]
|
"types": ["jasmine", "node"]
|
||||||
},
|
},
|
||||||
"files": ["test.ts", "polyfills.ts"],
|
"files": ["test.ts", "polyfills.ts"],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user