mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
@@ -30,6 +30,7 @@ import { SearchBarPage } from '../pages/search-bar.page';
|
||||
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { browser } from 'protractor';
|
||||
import { NodesApi } from '@alfresco/js-api';
|
||||
|
||||
describe('Search Checklist Component', () => {
|
||||
|
||||
@@ -40,10 +41,11 @@ describe('Search Checklist Component', () => {
|
||||
const navigationBarPage = new NavigationBarPage();
|
||||
|
||||
const acsUser = new UserModel();
|
||||
const apiService = new ApiService();
|
||||
|
||||
const apiService = new ApiService();
|
||||
const uploadActions = new UploadActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const nodesApi = new NodesApi(apiService.getInstance());
|
||||
|
||||
const filterType = {
|
||||
folder: 'Folder',
|
||||
@@ -66,11 +68,11 @@ describe('Search Checklist Component', () => {
|
||||
|
||||
await apiService.login(acsUser.username, acsUser.password);
|
||||
|
||||
createdFolder = await apiService.getInstance().nodes.addNode('-my-', {
|
||||
createdFolder = await nodesApi.createNode('-my-', {
|
||||
name: nodeNames.folder,
|
||||
nodeType: 'cm:folder'
|
||||
});
|
||||
createdFile = await apiService.getInstance().nodes.addNode('-my-', {
|
||||
createdFile = await nodesApi.createNode('-my-', {
|
||||
name: nodeNames.document,
|
||||
nodeType: 'cm:content'
|
||||
});
|
||||
|
@@ -31,6 +31,7 @@ import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
|
||||
import { SearchBarPage } from '../pages/search-bar.page';
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { browser } from 'protractor';
|
||||
import { NodesApi } from '@alfresco/js-api';
|
||||
|
||||
describe('Search Radio Component', () => {
|
||||
|
||||
@@ -42,7 +43,7 @@ describe('Search Radio Component', () => {
|
||||
|
||||
const acsUser = new UserModel();
|
||||
const apiService = new ApiService();
|
||||
|
||||
const nodesApi = new NodesApi(apiService.getInstance());
|
||||
const uploadActions = new UploadActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
@@ -68,11 +69,11 @@ describe('Search Radio Component', () => {
|
||||
await usersActions.createUser(acsUser);
|
||||
await apiService.login(acsUser.username, acsUser.password);
|
||||
|
||||
createdFolder = await apiService.getInstance().nodes.addNode('-my-', {
|
||||
createdFolder = await nodesApi.createNode('-my-', {
|
||||
name: nodeNames.folder,
|
||||
nodeType: 'cm:folder'
|
||||
});
|
||||
createdFile = await apiService.getInstance().nodes.addNode('-my-', {
|
||||
createdFile = await nodesApi.createNode('-my-', {
|
||||
name: nodeNames.document,
|
||||
nodeType: 'cm:content'
|
||||
});
|
||||
|
@@ -31,6 +31,7 @@ import { SearchFiltersPage } from '../pages/search-filters.page';
|
||||
import { ContentServicesPage } from '../../core/pages/content-services.page';
|
||||
import { browser } from 'protractor';
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { NodesApi } from '@alfresco/js-api';
|
||||
|
||||
describe('Search Sorting Picker', () => {
|
||||
|
||||
@@ -58,6 +59,7 @@ describe('Search Sorting Picker', () => {
|
||||
|
||||
const uploadActions = new UploadActions(apiService);
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const nodesApi = new NodesApi(apiService.getInstance());
|
||||
|
||||
const search = '_png_file.png';
|
||||
let jsonFile;
|
||||
@@ -234,7 +236,7 @@ describe('Search Sorting Picker', () => {
|
||||
|
||||
for (let i = 0; i < (numberOfElements - 1); i++) {
|
||||
if (idList[i] && idList[i].trim() !== '') {
|
||||
promises.push(apiService.getInstance().core.nodesApi.getNode(idList[i]));
|
||||
promises.push(nodesApi.getNode(idList[i]));
|
||||
}
|
||||
}
|
||||
nodeList = await Promise.all(promises);
|
||||
|
@@ -33,6 +33,7 @@ import { SearchFiltersPage } from '../pages/search-filters.page';
|
||||
import { NavigationBarPage } from '../../core/pages/navigation-bar.page';
|
||||
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { NodesApi } from '@alfresco/js-api';
|
||||
|
||||
describe('Search component - Text widget', () => {
|
||||
|
||||
@@ -45,6 +46,7 @@ describe('Search component - Text widget', () => {
|
||||
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
const nodesApi = new NodesApi(apiService.getInstance());
|
||||
|
||||
const acsUser = new UserModel();
|
||||
const newFolderModel = new FolderModel({ 'description': 'newDescription' });
|
||||
@@ -56,7 +58,7 @@ describe('Search component - Text widget', () => {
|
||||
|
||||
await apiService.login(acsUser.username, acsUser.password);
|
||||
|
||||
await apiService.getInstance().nodes.addNode('-my-', {
|
||||
await nodesApi.createNode('-my-', {
|
||||
'name': newFolderModel.name,
|
||||
'nodeType': 'cm:folder',
|
||||
'properties':
|
||||
|
@@ -16,13 +16,13 @@
|
||||
*/
|
||||
|
||||
import { Locator, browser, by, element, ElementFinder, protractor } from 'protractor';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility, BrowserActions, TestElement } from '@alfresco/adf-testing';
|
||||
|
||||
export class SearchBarPage {
|
||||
|
||||
searchIcon = element(by.css(`button[class*='adf-search-button']`));
|
||||
searchBar = element(by.css(`adf-search-control input`));
|
||||
searchBarExpanded = element(by.css(`adf-search-control mat-form-field[class*="mat-focused"] input`));
|
||||
searchBarExpanded: TestElement = TestElement.byCss(`adf-search-control mat-form-field[class*="mat-focused"] input`);
|
||||
noResultMessage = element(by.css(`p[class*='adf-search-fixed-text']`));
|
||||
rowsAuthor: Locator = by.css(`.mat-list-text p[class*='adf-search-fixed-text']`);
|
||||
completeName: Locator = by.css(`h4[class*='adf-search-fixed-text']`);
|
||||
@@ -48,7 +48,7 @@ export class SearchBarPage {
|
||||
}
|
||||
|
||||
async checkSearchBarIsNotVisible(): Promise<void> {
|
||||
await BrowserVisibility.waitUntilElementIsNotVisible(this.searchBarExpanded);
|
||||
await this.searchBarExpanded.waitNotVisible();
|
||||
}
|
||||
|
||||
async checkNoResultMessageIsDisplayed(): Promise<void> {
|
||||
@@ -61,12 +61,12 @@ export class SearchBarPage {
|
||||
|
||||
async enterText(text: string): Promise<void> {
|
||||
await BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
|
||||
await this.searchBar.sendKeys(text);
|
||||
await BrowserActions.clearSendKeys(this.searchBar, text);
|
||||
}
|
||||
|
||||
async enterTextAndPressEnter(text: string): Promise<void> {
|
||||
await BrowserVisibility.waitUntilElementIsVisible(this.searchBar);
|
||||
await this.searchBar.sendKeys(text);
|
||||
await BrowserActions.clearSendKeys(this.searchBar, text);
|
||||
await this.searchBar.sendKeys(protractor.Key.ENTER);
|
||||
}
|
||||
|
||||
|
@@ -35,6 +35,7 @@ import { FileModel } from '../models/ACS/file.model';
|
||||
import { FolderModel } from '../models/ACS/folder.model';
|
||||
import { NavigationBarPage } from '../core/pages/navigation-bar.page';
|
||||
import { SearchConfiguration } from './search.config';
|
||||
import { NodesApi } from '@alfresco/js-api';
|
||||
|
||||
describe('Search component - Search Bar', () => {
|
||||
|
||||
@@ -58,7 +59,7 @@ describe('Search component - Search Bar', () => {
|
||||
const acsUser = new UserModel();
|
||||
const apiService = new ApiService();
|
||||
const usersActions = new UsersActions(apiService);
|
||||
|
||||
const nodesApi = new NodesApi(apiService.getInstance());
|
||||
const uploadActions = new UploadActions(apiService);
|
||||
|
||||
const filename = StringUtil.generateRandomString(16);
|
||||
@@ -93,7 +94,7 @@ describe('Search component - Search Bar', () => {
|
||||
const firstFileUploaded = await uploadActions.uploadFile(firstFileModel.location, firstFileModel.name, '-my-');
|
||||
Object.assign(firstFileModel, firstFileUploaded.entry);
|
||||
|
||||
fileHighlightUploaded = await apiService.getInstance().nodes.addNode('-my-', {
|
||||
fileHighlightUploaded = await nodesApi.createNode('-my-', {
|
||||
'name': StringUtil.generateRandomString(16),
|
||||
'nodeType': 'cm:content',
|
||||
'properties': {
|
||||
@@ -126,11 +127,8 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C272798] Search bar should be visible', async () => {
|
||||
await searchBarPage.checkSearchBarIsNotVisible();
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
|
||||
await BrowserActions.closeMenuAndDialogs();
|
||||
@@ -140,14 +138,14 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C272799] Should be possible to hide search bar after input', async () => {
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterText(firstFolderModel.shortName);
|
||||
});
|
||||
|
||||
it('[C260255] Should display message when searching for an inexistent file', async () => {
|
||||
await searchBarPage.checkSearchBarIsNotVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.checkNoResultMessageIsNotDisplayed();
|
||||
await searchBarPage.enterText(search.inactive.name);
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
@@ -156,8 +154,7 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C260256] Should display file/folder in search suggestion when typing first characters', async () => {
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
await searchBarPage.enterText(firstFolderModel.shortName);
|
||||
|
||||
await searchBarPage.resultTableContainsRow(firstFolderModel.name);
|
||||
@@ -179,8 +176,8 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C272800] Should display file/folder in search suggestion when typing name', async () => {
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterText(firstFolderModel.name);
|
||||
|
||||
await searchBarPage.resultTableContainsRow(firstFolderModel.name);
|
||||
@@ -203,8 +200,8 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C260257] Should display content when clicking on folder from search suggestions', async () => {
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterText(firstFolderModel.shortName);
|
||||
|
||||
await searchBarPage.resultTableContainsRow(firstFolderModel.name);
|
||||
@@ -227,9 +224,8 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C272801] Should display message when searching for non-existent folder', async () => {
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterTextAndPressEnter(search.inactive.name);
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
|
||||
@@ -237,9 +233,8 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C272802] Should be able to find an existent folder in search results', async () => {
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterTextAndPressEnter(firstFolderModel.name);
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
|
||||
@@ -247,28 +242,17 @@ describe('Search component - Search Bar', () => {
|
||||
});
|
||||
|
||||
it('[C260258] Should be able to find an existent file in search results', async () => {
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterTextAndPressEnter(firstFileModel.name);
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
|
||||
await searchResultPage.checkContentIsDisplayed(firstFileModel.name);
|
||||
});
|
||||
|
||||
it('[C91321] Should be able to use down arrow key when navigating throw suggestions', async () => {
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await searchBarPage.enterText(secondFolder.shortName);
|
||||
await searchBarPage.pressDownArrowAndEnter();
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
|
||||
await expect(await contentServicesPage.currentFolderName()).toEqual(secondFolder.name);
|
||||
});
|
||||
|
||||
it('[C290137] Should be able to search by \'%\'', async () => {
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterTextAndPressEnter('%');
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
});
|
||||
@@ -281,9 +265,8 @@ describe('Search component - Search Bar', () => {
|
||||
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(searchConfiguration));
|
||||
|
||||
await searchBarPage.checkSearchIconIsVisible();
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
await openSearchBar();
|
||||
|
||||
await searchBarPage.enterTextAndPressEnter(term);
|
||||
await searchResultPage.dataTable.waitTillContentLoaded();
|
||||
|
||||
@@ -295,4 +278,14 @@ describe('Search component - Search Bar', () => {
|
||||
await expect(text.includes(`(${term})`)).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
async function openSearchBar(): Promise<void> {
|
||||
if (await searchBarPage.searchBarExpanded.isDisplayed()) {
|
||||
await searchBarPage.clearText();
|
||||
await searchBarPage.checkSearchBarIsNotVisible();
|
||||
}
|
||||
|
||||
await searchBarPage.clickOnSearchIcon();
|
||||
await searchBarPage.checkSearchBarIsVisible();
|
||||
}
|
||||
});
|
||||
|
@@ -98,7 +98,6 @@ describe('Search Component - Multi-Select Facet', () => {
|
||||
uploadActions.deleteFileOrFolder(txtFileSite.entry.id)
|
||||
]);
|
||||
|
||||
const sitesApi = new SitesApi(apiService.getInstance());
|
||||
await sitesApi.deleteSite(site.entry.id, { permanent: true });
|
||||
await navigationBarPage.clickLogoutButton();
|
||||
});
|
||||
@@ -216,7 +215,6 @@ describe('Search Component - Multi-Select Facet', () => {
|
||||
|
||||
await apiService.login(acsUser.username, acsUser.password);
|
||||
|
||||
const sitesApi = new SitesApi(apiService.getInstance());
|
||||
site = await sitesApi.createSite({
|
||||
title: StringUtil.generateRandomString(8),
|
||||
visibility: 'PUBLIC'
|
||||
@@ -239,7 +237,6 @@ describe('Search Component - Multi-Select Facet', () => {
|
||||
await apiService.loginWithProfile('admin');
|
||||
await uploadActions.deleteFileOrFolder(txtFile.entry.id);
|
||||
|
||||
const sitesApi = new SitesApi(apiService.getInstance());
|
||||
await sitesApi.deleteSite(site.entry.id, { permanent: true });
|
||||
});
|
||||
|
||||
|
@@ -82,7 +82,7 @@ describe('Search component - Search Page', () => {
|
||||
|
||||
await uploadActions.uploadFile(firstFileModel.location, firstFileModel.name, '-my-');
|
||||
|
||||
await apiService.login(browser.params.testConfig.users.admin.username, browser.params.testConfig.users.admin.password);
|
||||
await apiService.loginWithProfile('admin');
|
||||
|
||||
await uploadActions.createEmptyFiles(adminFileNames, newFolderModelUploaded.entry.id);
|
||||
|
||||
|
Reference in New Issue
Block a user