mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
fix ordering e2e failing test (#4825)
* ordering fix use common method in datatable * ordering fix use common method in datatable * fix sorting ps e2e * fix ordering * move search page in testing and fix sorting boolean flag * fix import * fix moment * use common sort method in document list test * use common sort method in document list test * remove unnecesary sort control * remove duplicate test * remove e2e suspended removed status * documentation
This commit is contained in:
27
audit-info-3.2.1.md
Normal file
27
audit-info-3.2.1.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
Title: License info, Alfresco Angular components 3.2.1
|
||||
---
|
||||
|
||||
# License information for Alfresco Angular components 3.2.1
|
||||
|
||||
This page lists all third party libraries that ADF 3.2.1 depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk dependencies 0
|
||||
- High risk dependencies 0
|
||||
- Moderate risk dependencies 4
|
||||
- Low risk dependencies 1
|
||||
|
||||
Dependencies analyzed 64984
|
||||
|
||||
## Libraries
|
||||
|
||||
|
||||
| Severity | Vulnerable versions | Module |
|
||||
| --- | --- | --- |
|
||||
|low | "<4.17.5" | lodash |
|
||||
|moderate | "<4.17.11" | lodash |
|
||||
|moderate | ">=0.3.14 <0.6.2" | marked |
|
||||
|moderate | "<0.18.1" | axios |
|
||||
|
@@ -251,35 +251,26 @@ describe('Document List - Pagination', function () {
|
||||
paginationPage.selectItemsPerPage(itemsPerPage.twenty);
|
||||
contentServicesPage.checkAcsContainer();
|
||||
contentServicesPage.waitForTableBody();
|
||||
contentServicesPage.getElementsDisplayedName().then((elements) => {
|
||||
contentServicesPage.checkElementsSortedAsc(elements);
|
||||
});
|
||||
|
||||
contentServicesPage.sortByName(false);
|
||||
contentServicesPage.getElementsDisplayedName().then(function (list) {
|
||||
contentServicesPage.checkElementsSortedDesc(list);
|
||||
});
|
||||
expect(contentServicesPage.getContentList().dataTablePage().checkListIsSorted('ASC', 'Display name'));
|
||||
|
||||
contentServicesPage.sortByName('DESC');
|
||||
expect(contentServicesPage.getContentList().dataTablePage().checkListIsSorted('DESC', 'Display name'));
|
||||
|
||||
paginationPage.selectItemsPerPage(itemsPerPage.five);
|
||||
contentServicesPage.checkAcsContainer();
|
||||
contentServicesPage.waitForTableBody();
|
||||
contentServicesPage.getElementsDisplayedName().then(function (list) {
|
||||
contentServicesPage.checkElementsSortedDesc(list);
|
||||
});
|
||||
expect(contentServicesPage.getContentList().dataTablePage().checkListIsSorted('DESC', 'Display name'));
|
||||
|
||||
paginationPage.clickOnNextPage();
|
||||
contentServicesPage.checkAcsContainer();
|
||||
contentServicesPage.waitForTableBody();
|
||||
contentServicesPage.getElementsDisplayedName().then(function (list) {
|
||||
contentServicesPage.checkElementsSortedDesc(list);
|
||||
});
|
||||
expect(contentServicesPage.getContentList().dataTablePage().checkListIsSorted('DESC', 'Display name'));
|
||||
|
||||
paginationPage.selectItemsPerPage(itemsPerPage.ten);
|
||||
contentServicesPage.checkAcsContainer();
|
||||
contentServicesPage.waitForTableBody();
|
||||
contentServicesPage.getElementsDisplayedName().then(function (list) {
|
||||
contentServicesPage.checkElementsSortedDesc(list);
|
||||
});
|
||||
expect(contentServicesPage.getContentList().dataTablePage().checkListIsSorted('DESC', 'Display name'));
|
||||
});
|
||||
|
||||
it('[C260107] Should not display pagination bar when a folder is empty', () => {
|
||||
|
@@ -22,8 +22,7 @@ import { DropActions } from '../../actions/drop.actions';
|
||||
import { by, element, protractor, $$, browser } from 'protractor';
|
||||
|
||||
import path = require('path');
|
||||
import { DateUtil } from '../../util/dateUtil';
|
||||
import { BrowserVisibility, DocumentListPage, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility, DocumentListPage, BrowserActions, DateUtil } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from './navigationBarPage';
|
||||
|
||||
export class ContentServicesPage {
|
||||
@@ -183,50 +182,10 @@ export class ContentServicesPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
getElementsDisplayedSize() {
|
||||
return this.contentList.dataTablePage().getAllRowsColumnValues(this.columns.size);
|
||||
}
|
||||
|
||||
getElementsDisplayedName() {
|
||||
return this.contentList.dataTablePage().getAllRowsColumnValues(this.columns.name);
|
||||
}
|
||||
|
||||
getElementsDisplayedId() {
|
||||
return this.contentList.dataTablePage().getAllRowsColumnValues(this.columns.nodeId);
|
||||
}
|
||||
|
||||
checkElementsSortedAsc(elements) {
|
||||
let sorted = true;
|
||||
let i = 0;
|
||||
|
||||
while (elements.length > 1 && sorted === true && i < (elements.length - 1)) {
|
||||
const left = elements[i];
|
||||
const right = elements[i + 1];
|
||||
if (left > right) {
|
||||
sorted = false;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
return sorted;
|
||||
}
|
||||
|
||||
checkElementsSortedDesc(elements) {
|
||||
let sorted = true;
|
||||
let i = 0;
|
||||
|
||||
while (elements.length > 1 && sorted === true && i < (elements.length - 1)) {
|
||||
const left = elements[i];
|
||||
const right = elements[i + 1];
|
||||
if (left < right) {
|
||||
sorted = false;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
return sorted;
|
||||
}
|
||||
|
||||
checkElementsDateSortedAsc(elements) {
|
||||
let sorted = true;
|
||||
let i = 0;
|
||||
@@ -328,19 +287,19 @@ export class ContentServicesPage {
|
||||
return this.contentList.getAllRowsColumnValues(this.columns.name);
|
||||
}
|
||||
|
||||
sortByName(sortOrder) {
|
||||
sortByName(sortOrder: string) {
|
||||
return this.contentList.dataTable.sortByColumn(sortOrder, this.nameColumnHeader);
|
||||
}
|
||||
|
||||
sortByAuthor(sortOrder) {
|
||||
sortByAuthor(sortOrder: string) {
|
||||
return this.contentList.dataTable.sortByColumn(sortOrder, this.createdByColumnHeader);
|
||||
}
|
||||
|
||||
sortByCreated(sortOrder) {
|
||||
sortByCreated(sortOrder: string) {
|
||||
return this.contentList.dataTable.sortByColumn(sortOrder, this.createdColumnHeader);
|
||||
}
|
||||
|
||||
sortAndCheckListIsOrderedByName(sortOrder) {
|
||||
sortAndCheckListIsOrderedByName(sortOrder: string) {
|
||||
this.sortByName(sortOrder);
|
||||
const deferred = protractor.promise.defer();
|
||||
this.checkListIsSortedByNameColumn(sortOrder).then((result) => {
|
||||
@@ -349,23 +308,23 @@ export class ContentServicesPage {
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
async checkListIsSortedByNameColumn(sortOrder) {
|
||||
async checkListIsSortedByNameColumn(sortOrder: string) {
|
||||
return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, this.columns.name);
|
||||
}
|
||||
|
||||
async checkListIsSortedByCreatedColumn(sortOrder) {
|
||||
async checkListIsSortedByCreatedColumn(sortOrder: string) {
|
||||
return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, this.columns.created);
|
||||
}
|
||||
|
||||
async checkListIsSortedByAuthorColumn(sortOrder) {
|
||||
async checkListIsSortedByAuthorColumn(sortOrder: string) {
|
||||
return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, this.columns.createdBy);
|
||||
}
|
||||
|
||||
async checkListIsSortedBySizeColumn(sortOrder) {
|
||||
async checkListIsSortedBySizeColumn(sortOrder: string) {
|
||||
return await this.contentList.dataTablePage().checkListIsSorted(sortOrder, this.columns.size);
|
||||
}
|
||||
|
||||
sortAndCheckListIsOrderedByAuthor(sortOrder) {
|
||||
sortAndCheckListIsOrderedByAuthor(sortOrder: string) {
|
||||
this.sortByAuthor(sortOrder);
|
||||
const deferred = protractor.promise.defer();
|
||||
this.checkListIsSortedByAuthorColumn(sortOrder).then((result) => {
|
||||
@@ -374,7 +333,7 @@ export class ContentServicesPage {
|
||||
return deferred.promise;
|
||||
}
|
||||
|
||||
sortAndCheckListIsOrderedByCreated(sortOrder) {
|
||||
sortAndCheckListIsOrderedByCreated(sortOrder: string) {
|
||||
this.sortByCreated(sortOrder);
|
||||
const deferred = protractor.promise.defer();
|
||||
this.checkListIsSortedByCreatedColumn(sortOrder).then((result) => {
|
||||
|
@@ -34,7 +34,7 @@ export class FiltersPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
sortByName(sortOrder) {
|
||||
sortByName(sortOrder: string) {
|
||||
this.dataTable.sortByColumn(sortOrder, 'name');
|
||||
}
|
||||
|
||||
|
@@ -96,9 +96,9 @@ export class ProcessFiltersPage {
|
||||
/**
|
||||
* Sort the list by name column.
|
||||
*
|
||||
* @param sortOrder : 'true' to sort the list ascendant and 'false' for descendant
|
||||
* @param sortOrder : 'ASC' to sort the list ascendant and 'DESC' for descendant
|
||||
*/
|
||||
sortByName(sortOrder) {
|
||||
sortByName(sortOrder: string) {
|
||||
this.dataTable.sortByColumn(sortOrder, 'name');
|
||||
}
|
||||
|
||||
|
@@ -151,11 +151,11 @@ export class TasksPage {
|
||||
}
|
||||
|
||||
clickSortByNameAsc() {
|
||||
return this.tasksListPage().getDataTable().sortByColumn(true, 'name');
|
||||
return this.tasksListPage().getDataTable().sortByColumn('ASC', 'name');
|
||||
}
|
||||
|
||||
clickSortByNameDesc() {
|
||||
return this.tasksListPage().getDataTable().sortByColumn(false, 'name');
|
||||
return this.tasksListPage().getDataTable().sortByColumn('DESC', 'name');
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -16,8 +16,7 @@
|
||||
*/
|
||||
|
||||
import { element, by } from 'protractor';
|
||||
import { SearchCategoriesPage } from './content-services/search/search-categories';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility, SearchCategoriesPage } from '@alfresco/adf-testing';
|
||||
|
||||
export class SearchFiltersPage {
|
||||
|
||||
@@ -282,12 +281,12 @@ export class SearchFiltersPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
checkFileTypeFacetLabelIsDisplayed(fileType) {
|
||||
checkFileTypeFacetLabelIsDisplayed(fileType: string | RegExp) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.fileTypeFilter.element(by.cssContainingText('.adf-facet-label', fileType)));
|
||||
return this;
|
||||
}
|
||||
|
||||
checkFileTypeFacetLabelIsNotDisplayed(fileType) {
|
||||
checkFileTypeFacetLabelIsNotDisplayed(fileType: string | RegExp) {
|
||||
BrowserVisibility.waitUntilElementIsNotVisible(this.fileTypeFilter.element(by.cssContainingText('.adf-facet-label', fileType)));
|
||||
return this;
|
||||
}
|
||||
|
@@ -16,10 +16,9 @@
|
||||
*/
|
||||
|
||||
import { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchSortingPickerPage } from './content-services/search/components/search-sortingPicker.page';
|
||||
import { element, by } from 'protractor';
|
||||
import { ContentServicesPage } from './contentServicesPage';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility, SearchSortingPickerPage } from '@alfresco/adf-testing';
|
||||
|
||||
export class SearchResultsPage {
|
||||
|
||||
@@ -36,14 +35,6 @@ export class SearchResultsPage {
|
||||
this.dataTable.tableIsLoaded();
|
||||
}
|
||||
|
||||
closeActionButton() {
|
||||
const container = element(by.css('div.cdk-overlay-backdrop.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing'));
|
||||
BrowserVisibility.waitUntilElementIsVisible(container);
|
||||
container.click();
|
||||
BrowserVisibility.waitUntilElementIsNotVisible(container);
|
||||
return this;
|
||||
}
|
||||
|
||||
checkContentIsDisplayed(content) {
|
||||
this.dataTable.checkContentIsDisplayed('Display name', content);
|
||||
return this;
|
||||
@@ -77,46 +68,33 @@ export class SearchResultsPage {
|
||||
this.contentServices.deleteContent(content);
|
||||
}
|
||||
|
||||
checkDeleteIsDisabled(content) {
|
||||
this.contentServices.checkDeleteIsDisabled(content);
|
||||
this.closeActionButton();
|
||||
}
|
||||
|
||||
sortByName(sortOrder) {
|
||||
sortByName(sortOrder: string) {
|
||||
this.searchSortingPicker.sortBy(sortOrder, 'Name');
|
||||
}
|
||||
|
||||
sortByAuthor(sortOrder) {
|
||||
sortByAuthor(sortOrder: string) {
|
||||
this.searchSortingPicker.sortBy(sortOrder, 'Author');
|
||||
}
|
||||
|
||||
sortByCreated(sortOrder) {
|
||||
sortByCreated(sortOrder: string) {
|
||||
this.searchSortingPicker.sortBy(sortOrder, 'Created');
|
||||
}
|
||||
|
||||
sortBySize(sortOrder) {
|
||||
sortBySize(sortOrder: string) {
|
||||
this.searchSortingPicker.sortBy(sortOrder, 'Size');
|
||||
return this;
|
||||
}
|
||||
|
||||
async checkListIsOrderedByNameAsc() {
|
||||
const list = await this.contentServices.getElementsDisplayedName();
|
||||
return this.contentServices.checkElementsSortedAsc(list);
|
||||
return this.contentServices.contentList.dataTablePage().checkListIsSorted('ASC', 'Display name');
|
||||
}
|
||||
|
||||
async checkListIsOrderedByNameDesc() {
|
||||
const list = await this.contentServices.getElementsDisplayedName();
|
||||
return this.contentServices.checkElementsSortedDesc(list);
|
||||
return this.contentServices.contentList.dataTablePage().checkListIsSorted('DESC', 'Display name');
|
||||
}
|
||||
|
||||
async checkListIsOrderedByAuthorAsc() {
|
||||
const authorList = await this.dataTable.geCellElementDetail('Created by');
|
||||
return this.contentServices.checkElementsSortedAsc(authorList);
|
||||
}
|
||||
|
||||
async checkListIsOrderedByAuthorDesc() {
|
||||
const authorList = await this.dataTable.geCellElementDetail('Created by');
|
||||
return this.contentServices.checkElementsSortedDesc(authorList);
|
||||
return this.contentServices.contentList.dataTablePage().checkListIsSorted('ASC', 'Created by');
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -90,6 +90,7 @@ xdescribe('Process list cloud', () => {
|
||||
'processInstanceId',
|
||||
'order',
|
||||
'sort',
|
||||
'initiator',
|
||||
'order'
|
||||
],
|
||||
'sortProperties': [
|
||||
@@ -124,45 +125,23 @@ xdescribe('Process list cloud', () => {
|
||||
it('[C290069] Should display processes ordered by name when Name is selected from sort dropdown', async () => {
|
||||
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
|
||||
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
|
||||
processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
|
||||
const initialList = list.slice(0);
|
||||
list.sort();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
|
||||
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
|
||||
|
||||
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
processCloudDemoPage.processListCloudComponent().getAllRowsNameColumn().then(function (list) {
|
||||
const initialList = list.slice(0);
|
||||
list.sort();
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
|
||||
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
|
||||
|
||||
});
|
||||
|
||||
it('[C291783] Should display processes ordered by id when Id is selected from sort dropdown', async () => {
|
||||
processCloudDemoPage.editProcessFilterCloudComponent().clickCustomiseFilterHeader().setStatusFilterDropDown('RUNNING')
|
||||
.setSortFilterDropDown('Id').setOrderFilterDropDown('ASC');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable();
|
||||
browser.driver.sleep(1000);
|
||||
processCloudDemoPage.getAllRowsByIdColumn().then(function (list) {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
|
||||
|
||||
processCloudDemoPage.editProcessFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
processCloudDemoPage.processListCloudComponent().getDataTable();
|
||||
browser.driver.sleep(1000);
|
||||
processCloudDemoPage.getAllRowsByIdColumn().then(function (list) {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(processCloudDemoPage.processListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
|
||||
|
||||
});
|
||||
|
||||
it('[C297697] The value of the filter should be preserved when saving it', async () => {
|
||||
|
@@ -20,14 +20,13 @@ import {
|
||||
StringUtil, TasksService,
|
||||
ProcessDefinitionsService, ProcessInstancesService,
|
||||
LoginSSOPage, ApiService,
|
||||
AppListCloudPage, LocalStorageUtil, IdentityService, SettingsPage, GroupIdentityService
|
||||
AppListCloudPage, LocalStorageUtil, IdentityService, SettingsPage, GroupIdentityService, DateUtil
|
||||
} from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { TasksCloudDemoPage } from '../pages/adf/demo-shell/process-services/tasksCloudDemoPage';
|
||||
import { TaskListCloudConfiguration } from './taskListCloud.config';
|
||||
|
||||
import moment = require('moment');
|
||||
import { DateUtil } from '../util/dateUtil';
|
||||
|
||||
import resources = require('../util/resources');
|
||||
|
||||
@@ -49,7 +48,8 @@ describe('Edit task filters and task list properties', () => {
|
||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||
const candidateBaseApp = resources.ACTIVITI7_APPS.CANDIDATE_BASE_APP.name;
|
||||
const noTasksFoundMessage = 'No Tasks Found';
|
||||
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask, otherOwnerTask, testUser, groupInfo;
|
||||
let createdTask, notAssigned, notDisplayedTask, processDefinition, processInstance, priorityTask, subTask,
|
||||
otherOwnerTask, testUser, groupInfo;
|
||||
const priority = 30;
|
||||
|
||||
const beforeDate = moment().add(-1, 'days').format('DD/MM/YYYY');
|
||||
@@ -383,241 +383,85 @@ describe('Edit task filters and task list properties', () => {
|
||||
it('[C306901] Should display tasks sorted by task name when taskName is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('Name').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsNameColumn().then( (list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Name')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsNameColumn().then( (list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Name')).toBe(true);
|
||||
|
||||
});
|
||||
|
||||
it('[C290156] Should display tasks ordered by id when Id is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('Id').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Id')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Id')).toBe(true);
|
||||
|
||||
});
|
||||
|
||||
it('[C306903] Should display tasks sorted by processDefinitionId when processDefinitionId is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('ProcessDefinitionId').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByProcessDefIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessDefinitionId')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByProcessDefIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessDefinitionId')).toBe(true);
|
||||
});
|
||||
|
||||
it('[C306905] Should display tasks sorted by processInstanceId when processInstanceId is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setStatusFilterDropDown('ASSIGNED')
|
||||
.setSortFilterDropDown('ProcessInstanceId').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByProcessInstanceIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ProcessInstanceId')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByProcessInstanceIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ProcessInstanceId')).toBe(true);
|
||||
});
|
||||
|
||||
it('[C306907] Should display tasks sorted by assignee when assignee is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
|
||||
.setSortFilterDropDown('Assignee').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByAssigneeColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Assignee')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByAssigneeColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Assignee')).toBe(true);
|
||||
});
|
||||
|
||||
it('[C306911] Should display tasks sorted by parentTaskId when parentTaskId is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
|
||||
.setSortFilterDropDown('ParentTaskId').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByParentTaskIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'ParentTaskId')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByParentTaskIdColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'ParentTaskId')).toBe(true);
|
||||
});
|
||||
|
||||
it('[C306909] Should display tasks sorted by priority when priority is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
|
||||
.setSortFilterDropDown('Priority').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByPriorityColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Priority')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByPriorityColumn().then((list) => {
|
||||
list = list.map(Number);
|
||||
const initialList = list.slice(0);
|
||||
list.sort((a, b) => b - a);
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Priority')).toBe(true);
|
||||
|
||||
});
|
||||
|
||||
it('[C307114] Should display tasks sorted by standAlone when standAlone is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
|
||||
.setSortFilterDropDown('StandAlone').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByStandAloneColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'StandAlone')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByStandAloneColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'StandAlone')).toBe(true);
|
||||
});
|
||||
|
||||
it('[C307115] Should display tasks sorted by owner when owner is selected from sort dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clearAssignee().setStatusFilterDropDown('ALL')
|
||||
.setSortFilterDropDown('Owner').setOrderFilterDropDown('ASC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByOwnerColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('ASC', 'Owner')).toBe(true);
|
||||
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().setOrderFilterDropDown('DESC');
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkSpinnerIsNotDisplayed();
|
||||
tasksCloudDemoPage.taskListCloudComponent().getAllRowsByOwnerColumn().then((list) => {
|
||||
const initialList = list.slice(0);
|
||||
list.sort(function (firstStr, secondStr) {
|
||||
return firstStr.localeCompare(secondStr);
|
||||
});
|
||||
list.reverse();
|
||||
expect(JSON.stringify(initialList) === JSON.stringify(list)).toEqual(true);
|
||||
});
|
||||
expect(tasksCloudDemoPage.taskListCloudComponent().getDataTable().checkListIsSorted('DESC', 'Owner')).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
|
@@ -55,7 +55,7 @@ describe('Task filters cloud', () => {
|
||||
completedTaskName = StringUtil.generateRandomString(),
|
||||
assignedTaskName = StringUtil.generateRandomString(), deletedTaskName = StringUtil.generateRandomString();
|
||||
const simpleApp = resources.ACTIVITI7_APPS.SIMPLE_APP.name;
|
||||
let assignedTask, deletedTask, suspendedTasks, testUser, groupInfo;
|
||||
let assignedTask, deletedTask, testUser, groupInfo;
|
||||
const orderByNameAndPriority = ['cCreatedTask', 'dCreatedTask', 'eCreatedTask'];
|
||||
let priority = 30;
|
||||
const nrOfTasks = 3;
|
||||
@@ -90,7 +90,6 @@ describe('Task filters cloud', () => {
|
||||
const secondProcessInstance = await processInstancesService.createProcessInstance(processDefinition.entry.key, simpleApp);
|
||||
|
||||
queryService = new QueryService(apiService);
|
||||
suspendedTasks = await queryService.getProcessInstanceTasks(processInstance.entry.id, simpleApp);
|
||||
await queryService.getProcessInstanceTasks(secondProcessInstance.entry.id, simpleApp);
|
||||
await processInstancesService.suspendProcessInstance(processInstance.entry.id, simpleApp);
|
||||
await processInstancesService.deleteProcessInstance(secondProcessInstance.entry.id, simpleApp);
|
||||
@@ -148,16 +147,6 @@ describe('Task filters cloud', () => {
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(completedTaskName);
|
||||
});
|
||||
|
||||
it('[C290154] Should display only tasks with suspended statuses when Suspended is selected from status dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee()
|
||||
.setStatusFilterDropDown('SUSPENDED');
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedById(suspendedTasks.list.entries[0].entry.id);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(deletedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(createdTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
|
||||
});
|
||||
|
||||
it('[C290060] Should display only tasks with Created status when Created is selected from status dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CREATED');
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(createdTaskName);
|
||||
@@ -168,7 +157,6 @@ describe('Task filters cloud', () => {
|
||||
|
||||
it('[C290155] Should display only tasks with Cancelled status when Cancelled is selected from status dropdown', () => {
|
||||
tasksCloudDemoPage.editTaskFilterCloudComponent().clickCustomiseFilterHeader().clearAssignee().setStatusFilterDropDown('CANCELLED');
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(suspendedTasks.list.entries[0].entry.name);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsDisplayedByName(deletedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(assignedTaskName);
|
||||
tasksCloudDemoPage.taskListCloudComponent().checkContentIsNotDisplayedByName(completedTaskName);
|
||||
|
@@ -18,7 +18,7 @@
|
||||
import { LoginPage } from '@alfresco/adf-testing';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
import { TaskListDemoPage } from '../pages/adf/demo-shell/process-services/taskListDemoPage';
|
||||
import { PaginationPage } from '@alfresco/adf-testing';
|
||||
import { PaginationPage, DateUtil } from '@alfresco/adf-testing';
|
||||
import moment = require('moment');
|
||||
|
||||
import { Tenant } from '../models/APS/tenant';
|
||||
@@ -31,7 +31,6 @@ import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { AppsActions } from '../actions/APS/apps.actions';
|
||||
import { AppsRuntimeActions } from '../actions/APS/appsRuntime.actions';
|
||||
import { UsersActions } from '../actions/users.actions';
|
||||
import { DateUtil } from '../util/dateUtil';
|
||||
|
||||
describe('Start Task - Custom App', () => {
|
||||
|
||||
|
@@ -15,10 +15,9 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, Widget } from '@alfresco/adf-testing';
|
||||
import { LoginPage, Widget, DatePickerPage } from '@alfresco/adf-testing';
|
||||
import { ProcessFiltersPage } from '../pages/adf/process-services/processFiltersPage';
|
||||
import { ProcessServiceTabBarPage } from '../pages/adf/process-services/processServiceTabBarPage';
|
||||
import { DatePickerPage } from '../pages/adf/material/datePickerPage';
|
||||
import { NavigationBarPage } from '../pages/adf/navigationBarPage';
|
||||
|
||||
import { browser } from 'protractor';
|
||||
|
@@ -376,11 +376,11 @@ describe('Process List - Pagination', function () {
|
||||
processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
processFiltersPage.waitForTableBody();
|
||||
|
||||
processFiltersPage.sortByName(true);
|
||||
processFiltersPage.sortByName('ASC');
|
||||
processFiltersPage.waitForTableBody();
|
||||
processFiltersPage.checkProcessesSortedByNameAsc();
|
||||
|
||||
processFiltersPage.sortByName(false);
|
||||
processFiltersPage.sortByName('DESC');
|
||||
processFiltersPage.waitForTableBody();
|
||||
processFiltersPage.checkProcessesSortedByNameDesc();
|
||||
});
|
||||
@@ -395,7 +395,7 @@ describe('Process List - Pagination', function () {
|
||||
processDetailsPage.checkProcessTitleIsDisplayed();
|
||||
processFiltersPage.waitForTableBody();
|
||||
|
||||
processFiltersPage.sortByName(true);
|
||||
processFiltersPage.sortByName('ASC');
|
||||
processFiltersPage.waitForTableBody();
|
||||
processFiltersPage.checkProcessesSortedByNameAsc();
|
||||
|
||||
|
@@ -83,12 +83,12 @@ describe('Task List Pagination - Sorting', () => {
|
||||
taskPage.tasksListPage().getDataTable().waitForTableBody();
|
||||
paginationPage.selectItemsPerPage(itemsPerPage.twenty);
|
||||
taskPage.tasksListPage().getDataTable().waitForTableBody();
|
||||
taskPage.filtersPage().sortByName(true);
|
||||
taskPage.filtersPage().sortByName('ASC');
|
||||
taskPage.tasksListPage().getDataTable().waitForTableBody();
|
||||
taskPage.filtersPage().getAllRowsNameColumn().then(function (list) {
|
||||
expect(JSON.stringify(list) === JSON.stringify(taskNames)).toEqual(true);
|
||||
});
|
||||
taskPage.filtersPage().sortByName(false);
|
||||
taskPage.filtersPage().sortByName('DESC');
|
||||
taskPage.filtersPage().getAllRowsNameColumn().then(function (list) {
|
||||
taskNames.reverse();
|
||||
expect(JSON.stringify(list) === JSON.stringify(taskNames)).toEqual(true);
|
||||
|
@@ -15,18 +15,16 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import { LoginPage, LocalStorageUtil, DatePickerPage, DateUtil } from '@alfresco/adf-testing';
|
||||
import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
|
||||
import { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
import { DatePickerPage } from '../../pages/adf/material/datePickerPage';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
import { SearchFiltersPage } from '../../pages/adf/searchFiltersPage';
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
|
||||
import { AlfrescoApiCompatibility as AlfrescoApi } from '@alfresco/js-api';
|
||||
import { browser } from 'protractor';
|
||||
import { DateUtil } from '../../util/dateUtil';
|
||||
|
||||
describe('Search Date Range Filter', () => {
|
||||
|
||||
@@ -131,7 +129,7 @@ describe('Search Date Range Filter', () => {
|
||||
dateRangeFilter.checkApplyButtonIsEnabled()
|
||||
.clickApplyButton();
|
||||
|
||||
searchResults.sortByCreated(true);
|
||||
searchResults.sortByCreated('ASC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Created');
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, LocalStorageUtil } from '@alfresco/adf-testing';
|
||||
import { LoginPage, LocalStorageUtil, DateUtil } from '@alfresco/adf-testing';
|
||||
import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
|
||||
import { DataTableComponentPage } from '@alfresco/adf-testing';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
@@ -29,7 +29,6 @@ import { FileModel } from '../../models/ACS/fileModel';
|
||||
import { browser } from 'protractor';
|
||||
import resources = require('../../util/resources');
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { DateUtil } from '../../util/dateUtil';
|
||||
|
||||
describe('Search Number Range Filter', () => {
|
||||
|
||||
@@ -165,7 +164,7 @@ describe('Search Number Range Filter', () => {
|
||||
|
||||
sizeRangeFilter.clickApplyButton();
|
||||
searchResults.tableIsLoaded();
|
||||
searchResults.sortBySize(false);
|
||||
searchResults.sortBySize('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Size');
|
||||
@@ -196,7 +195,7 @@ describe('Search Number Range Filter', () => {
|
||||
expect(sizeRangeFilter.checkApplyButtonIsEnabled()).toBe(true);
|
||||
|
||||
sizeRangeFilter.clickApplyButton();
|
||||
searchResults.sortBySize(false);
|
||||
searchResults.sortBySize('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Size');
|
||||
@@ -214,7 +213,7 @@ describe('Search Number Range Filter', () => {
|
||||
searchFilters.checkNameFilterIsDisplayed()
|
||||
.checkNameFilterIsExpanded();
|
||||
nameFilter.searchByName('z*');
|
||||
searchResults.sortBySize(false);
|
||||
searchResults.sortBySize('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Size');
|
||||
@@ -270,7 +269,7 @@ describe('Search Number Range Filter', () => {
|
||||
|
||||
sizeRangeFilter.clickApplyButton();
|
||||
searchResults.tableIsLoaded();
|
||||
searchResults.sortBySize(false);
|
||||
searchResults.sortBySize('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Size');
|
||||
@@ -308,7 +307,7 @@ describe('Search Number Range Filter', () => {
|
||||
expect(sizeRangeFilter.getToNumber()).toEqual('');
|
||||
|
||||
sizeRangeFilter.putFromNumber(0).putToNumber(1).clickApplyButton();
|
||||
searchResults.sortBySize(false);
|
||||
searchResults.sortBySize('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Size');
|
||||
@@ -418,7 +417,7 @@ describe('Search Number Range Filter', () => {
|
||||
|
||||
sizeRangeFilter.clickApplyButton();
|
||||
searchResults.tableIsLoaded();
|
||||
searchResults.sortByCreated(false);
|
||||
searchResults.sortByCreated('DESC');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await dataTable.geCellElementDetail('Created');
|
||||
|
@@ -118,7 +118,7 @@ describe('Search Number Range Filter', () => {
|
||||
it('[C276981] Should be able to clear value in Search Size Slider', () => {
|
||||
const size = 5;
|
||||
sizeSliderFilter.checkSliderIsDisplayed().setValue(size);
|
||||
searchResults.sortBySize(false)
|
||||
searchResults.sortBySize('DESC')
|
||||
.tableIsLoaded();
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
@@ -137,7 +137,7 @@ describe('Search Number Range Filter', () => {
|
||||
sizeSliderFilter.checkSliderIsDisplayed()
|
||||
.clickClearButton();
|
||||
|
||||
searchResults.sortBySize(false)
|
||||
searchResults.sortBySize('DESC')
|
||||
.tableIsLoaded();
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { LoginPage, LocalStorageUtil, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { LoginPage, LocalStorageUtil, BrowserActions, SearchSortingPickerPage } from '@alfresco/adf-testing';
|
||||
import { SearchDialog } from '../../pages/adf/dialog/searchDialog';
|
||||
import { SearchResultsPage } from '../../pages/adf/searchResultsPage';
|
||||
import { NavigationBarPage } from '../../pages/adf/navigationBarPage';
|
||||
@@ -29,7 +29,6 @@ import { AcsUserModel } from '../../models/ACS/acsUserModel';
|
||||
import { browser } from 'protractor';
|
||||
import resources = require('../../util/resources');
|
||||
import { SearchConfiguration } from '../search.config';
|
||||
import { SearchSortingPickerPage } from '../../pages/adf/content-services/search/components/search-sortingPicker.page';
|
||||
|
||||
describe('Search Sorting Picker', () => {
|
||||
|
||||
@@ -175,29 +174,20 @@ describe('Search Sorting Picker', () => {
|
||||
it('[C277280] Should be able to sort the search results by "Name" ASC', () => {
|
||||
searchFilters.checkSearchFiltersIsDisplayed();
|
||||
searchFilters.creatorCheckListFiltersPage().filterBy(`${acsUser.firstName} ${acsUser.lastName}`);
|
||||
searchResults.sortByName(true);
|
||||
searchResults.sortByName('ASC');
|
||||
|
||||
expect(searchResults.checkListIsOrderedByNameAsc()).toBe(true);
|
||||
});
|
||||
|
||||
it('[C277281] Should be able to sort the search results by "Name" DESC', () => {
|
||||
searchFilters.checkSearchFiltersIsDisplayed();
|
||||
searchFilters.creatorCheckListFiltersPage().filterBy(`${acsUser.firstName} ${acsUser.lastName}`);
|
||||
searchResults.sortByName(false);
|
||||
searchResults.sortByName('DESC');
|
||||
expect(searchResults.checkListIsOrderedByNameDesc()).toBe(true);
|
||||
});
|
||||
|
||||
it('[C277282] Should be able to sort the search results by "Author" ASC', () => {
|
||||
searchResults.sortByAuthor(true);
|
||||
expect(searchResults.checkListIsOrderedByAuthorAsc()).toBe(true);
|
||||
});
|
||||
|
||||
it('[C277283] Should be able to sort the search results by "Author" DESC', () => {
|
||||
searchResults.sortByAuthor(false);
|
||||
expect(searchResults.checkListIsOrderedByAuthorDesc()).toBe(true);
|
||||
});
|
||||
|
||||
it('[C277286] Should be able to sort the search results by "Created Date" ASC', () => {
|
||||
searchResults.sortByCreated(true);
|
||||
searchResults.sortByCreated('ASC');
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await searchResults.dataTable.geCellElementDetail('Created');
|
||||
expect(contentServices.checkElementsDateSortedAsc(results)).toBe(true);
|
||||
@@ -205,7 +195,7 @@ describe('Search Sorting Picker', () => {
|
||||
});
|
||||
|
||||
it('[C277287] Should be able to sort the search results by "Created Date" DESC', () => {
|
||||
searchResults.sortByCreated(false);
|
||||
searchResults.sortByCreated('DESC');
|
||||
browser.controlFlow().execute(async () => {
|
||||
const results = await searchResults.dataTable.geCellElementDetail('Created');
|
||||
expect(contentServices.checkElementsDateSortedDesc(results)).toBe(true);
|
||||
@@ -230,7 +220,7 @@ describe('Search Sorting Picker', () => {
|
||||
.enterTextAndPressEnter(search);
|
||||
|
||||
searchSortingPicker.checkSortingSelectorIsDisplayed()
|
||||
.sortBy(true, 'Modified Date');
|
||||
.sortBy('ASC', 'Modified Date');
|
||||
|
||||
browser.controlFlow().execute(async () => {
|
||||
const idList = await contentServices.getElementsDisplayedId();
|
||||
@@ -245,25 +235,4 @@ describe('Search Sorting Picker', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('[C277301] Should be able to change default sorting option for the search results', async () => {
|
||||
navigationBar.clickContentServicesButton();
|
||||
|
||||
jsonFile = SearchConfiguration.getConfiguration();
|
||||
jsonFile.sorting.options.push({
|
||||
'key': 'createdByUser',
|
||||
'label': 'Author',
|
||||
'type': 'FIELD',
|
||||
'field': 'cm:creator',
|
||||
'ascending': true
|
||||
});
|
||||
|
||||
await LocalStorageUtil.setConfigField('search', JSON.stringify(jsonFile));
|
||||
|
||||
searchDialog.checkSearchIconIsVisible()
|
||||
.clickOnSearchIcon()
|
||||
.enterTextAndPressEnter(search);
|
||||
|
||||
searchSortingPicker.checkSortingSelectorIsDisplayed();
|
||||
expect(searchResults.checkListIsOrderedByAuthorAsc()).toBe(true);
|
||||
});
|
||||
});
|
||||
|
@@ -9,16 +9,21 @@ The ADF CLI manages, builds , doc and test your ADF Application projects.
|
||||
## Installation
|
||||
To get started follow these instructions:
|
||||
|
||||
|
||||
|
||||
``sh
|
||||
npm install aadf-cli -g
|
||||
``
|
||||
npm install adf-cli -g
|
||||
``
|
||||
|
||||
### License Check
|
||||
|
||||
Move in the folder where you have your pacakge.json and run the command:
|
||||
Move in the folder where you have your package.json and run the command:
|
||||
|
||||
```bash
|
||||
adf-license
|
||||
```
|
||||
### Audit Check
|
||||
|
||||
Move in the folder where you have your package.json and run the command:
|
||||
|
||||
```bash
|
||||
adf-audit
|
||||
```
|
||||
|
32
lib/cli/bin/doc/audit.js
Executable file
32
lib/cli/bin/doc/audit.js
Executable file
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
var shell = require('shelljs');
|
||||
var cmd = "npm audit --json";
|
||||
var ejs = require('ejs');
|
||||
var path = require('path');
|
||||
var fs = require('fs');
|
||||
|
||||
var templatePath = path.resolve(__dirname, 'templates', 'auditPage.ejs');
|
||||
|
||||
|
||||
try {
|
||||
var jsonAudit = shell.exec(cmd, {silent:true});
|
||||
} catch(err) {
|
||||
console.error('error'+ err);
|
||||
}
|
||||
|
||||
var packageJson = JSON.parse(fs.readFileSync(path.resolve('./','package.json')));
|
||||
|
||||
ejs.renderFile(templatePath, {
|
||||
jsonAudit: JSON.parse(jsonAudit),
|
||||
projVersion: packageJson.version,
|
||||
projName: packageJson.description
|
||||
}, {}, (err, mdText) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
} else {
|
||||
fs.writeFileSync(`audit-info-${packageJson.version}.md`, mdText);
|
||||
console.log(`Wrote Audit`);
|
||||
}
|
||||
});
|
||||
|
31
lib/cli/bin/doc/templates/auditPage.ejs
vendored
Normal file
31
lib/cli/bin/doc/templates/auditPage.ejs
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
Title: License info, <%= projName %> <%= projVersion %>
|
||||
---
|
||||
|
||||
# License information for <%= projName %> <%= projVersion %>
|
||||
|
||||
This page lists all third party libraries that ADF <%= projVersion %> depends on.
|
||||
|
||||
## Risks
|
||||
|
||||
- Critical risk dependencies <%= jsonAudit.metadata.vulnerabilities.critical %>
|
||||
- High risk dependencies <%= jsonAudit.metadata.vulnerabilities.high %>
|
||||
- Moderate risk dependencies <%= jsonAudit.metadata.vulnerabilities.moderate %>
|
||||
- Low risk dependencies <%= jsonAudit.metadata.vulnerabilities.low %>
|
||||
|
||||
Dependencies analyzed <%= jsonAudit.metadata.totalDependencies %>
|
||||
|
||||
## Libraries
|
||||
|
||||
|
||||
| Severity | Vulnerable versions | Module |
|
||||
| --- | --- | --- |
|
||||
<%
|
||||
for(var currentAdvisories in jsonAudit.advisories) {
|
||||
|
||||
severity = jsonAudit.advisories[currentAdvisories].severity;
|
||||
vulnerable_versions = JSON.stringify(jsonAudit.advisories[currentAdvisories].vulnerable_versions);
|
||||
module = jsonAudit.advisories[currentAdvisories].module_name;
|
||||
-%>
|
||||
|<%= severity %> | <%= vulnerable_versions %> | <%= module %> |
|
||||
<% } %>
|
632
lib/cli/package-lock.json
generated
632
lib/cli/package-lock.json
generated
@@ -4,11 +4,36 @@
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"JSONStream": {
|
||||
"version": "1.3.5",
|
||||
"resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
|
||||
"integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
|
||||
"requires": {
|
||||
"jsonparse": "^1.2.0",
|
||||
"through": ">=2.2.7 <3"
|
||||
}
|
||||
},
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
|
||||
},
|
||||
"agent-base": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
|
||||
"integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
|
||||
"requires": {
|
||||
"es6-promisify": "^5.0.0"
|
||||
}
|
||||
},
|
||||
"agentkeepalive": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
|
||||
"integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
|
||||
"requires": {
|
||||
"humanize-ms": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "3.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
|
||||
@@ -17,6 +42,11 @@
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"aproba": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
|
||||
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
|
||||
},
|
||||
"array-find-index": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
|
||||
@@ -32,6 +62,11 @@
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
|
||||
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
|
||||
},
|
||||
"bluebird": {
|
||||
"version": "3.5.5",
|
||||
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
|
||||
"integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
|
||||
},
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
@@ -41,6 +76,52 @@
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"buffer-from": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
|
||||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
|
||||
},
|
||||
"builtins": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
|
||||
"integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
|
||||
},
|
||||
"cacache": {
|
||||
"version": "11.3.2",
|
||||
"resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
|
||||
"integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
|
||||
"requires": {
|
||||
"bluebird": "^3.5.3",
|
||||
"chownr": "^1.1.1",
|
||||
"figgy-pudding": "^3.5.1",
|
||||
"glob": "^7.1.3",
|
||||
"graceful-fs": "^4.1.15",
|
||||
"lru-cache": "^5.1.1",
|
||||
"mississippi": "^3.0.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"move-concurrently": "^1.0.1",
|
||||
"promise-inflight": "^1.0.1",
|
||||
"rimraf": "^2.6.2",
|
||||
"ssri": "^6.0.1",
|
||||
"unique-filename": "^1.1.1",
|
||||
"y18n": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"lru-cache": {
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
|
||||
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
||||
"requires": {
|
||||
"yallist": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
|
||||
"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A=="
|
||||
}
|
||||
}
|
||||
},
|
||||
"chalk": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
|
||||
@@ -51,6 +132,11 @@
|
||||
"supports-color": "^5.3.0"
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz",
|
||||
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g=="
|
||||
},
|
||||
"color-convert": {
|
||||
"version": "1.9.3",
|
||||
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
|
||||
@@ -64,11 +150,50 @@
|
||||
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
|
||||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||
},
|
||||
"commander": {
|
||||
"version": "2.20.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
|
||||
"integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
|
||||
},
|
||||
"concat-map": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
||||
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
|
||||
},
|
||||
"concat-stream": {
|
||||
"version": "1.6.2",
|
||||
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.2.2",
|
||||
"typedarray": "^0.0.6"
|
||||
}
|
||||
},
|
||||
"copy-concurrently": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
|
||||
"integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
|
||||
"requires": {
|
||||
"aproba": "^1.1.1",
|
||||
"fs-write-stream-atomic": "^1.0.8",
|
||||
"iferr": "^0.1.5",
|
||||
"mkdirp": "^0.5.1",
|
||||
"rimraf": "^2.5.4",
|
||||
"run-queue": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
|
||||
},
|
||||
"cyclist": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
|
||||
"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA="
|
||||
},
|
||||
"debug": {
|
||||
"version": "3.2.6",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
|
||||
@@ -91,11 +216,90 @@
|
||||
"wrappy": "1"
|
||||
}
|
||||
},
|
||||
"duplexify": {
|
||||
"version": "3.7.1",
|
||||
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
|
||||
"integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.0.0",
|
||||
"inherits": "^2.0.1",
|
||||
"readable-stream": "^2.0.0",
|
||||
"stream-shift": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"encoding": {
|
||||
"version": "0.1.12",
|
||||
"resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
|
||||
"integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
|
||||
"requires": {
|
||||
"iconv-lite": "~0.4.13"
|
||||
}
|
||||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
|
||||
"integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
|
||||
"requires": {
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
},
|
||||
"err-code": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
|
||||
"integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "4.2.8",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
||||
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
|
||||
},
|
||||
"es6-promisify": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
|
||||
"integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
|
||||
"requires": {
|
||||
"es6-promise": "^4.0.3"
|
||||
}
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
|
||||
},
|
||||
"figgy-pudding": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
|
||||
"integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
|
||||
},
|
||||
"flush-write-stream": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
|
||||
"integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.3.6"
|
||||
}
|
||||
},
|
||||
"from2": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
|
||||
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
|
||||
"requires": {
|
||||
"inherits": "^2.0.1",
|
||||
"readable-stream": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"fs-write-stream-atomic": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
|
||||
"integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"iferr": "^0.1.5",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"readable-stream": "1 || 2"
|
||||
}
|
||||
},
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
@@ -129,6 +333,70 @@
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
|
||||
"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
|
||||
},
|
||||
"http-cache-semantics": {
|
||||
"version": "3.8.1",
|
||||
"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
|
||||
"integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
|
||||
},
|
||||
"http-proxy-agent": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
|
||||
"integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
|
||||
"requires": {
|
||||
"agent-base": "4",
|
||||
"debug": "3.1.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
|
||||
"requires": {
|
||||
"ms": "2.0.0"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
}
|
||||
}
|
||||
},
|
||||
"https-proxy-agent": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
|
||||
"integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
|
||||
"requires": {
|
||||
"agent-base": "^4.1.0",
|
||||
"debug": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"humanize-ms": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
|
||||
"integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
|
||||
"requires": {
|
||||
"ms": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.4.24",
|
||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||
"requires": {
|
||||
"safer-buffer": ">= 2.1.2 < 3"
|
||||
}
|
||||
},
|
||||
"iferr": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
|
||||
"integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
|
||||
},
|
||||
"imurmurhash": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
|
||||
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
|
||||
},
|
||||
"inflight": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
@@ -143,11 +411,31 @@
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
|
||||
},
|
||||
"interpret": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
|
||||
"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
|
||||
},
|
||||
"ip": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
|
||||
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
|
||||
},
|
||||
"json-parse-better-errors": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
||||
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
|
||||
},
|
||||
"jsonparse": {
|
||||
"version": "1.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
|
||||
"integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
|
||||
},
|
||||
"license-checker": {
|
||||
"version": "25.0.1",
|
||||
"resolved": "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz",
|
||||
@@ -165,6 +453,33 @@
|
||||
"treeify": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "4.1.5",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
|
||||
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
|
||||
"requires": {
|
||||
"pseudomap": "^1.0.2",
|
||||
"yallist": "^2.1.2"
|
||||
}
|
||||
},
|
||||
"make-fetch-happen": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz",
|
||||
"integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==",
|
||||
"requires": {
|
||||
"agentkeepalive": "^3.4.1",
|
||||
"cacache": "^11.0.1",
|
||||
"http-cache-semantics": "^3.8.1",
|
||||
"http-proxy-agent": "^2.1.0",
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"lru-cache": "^4.1.2",
|
||||
"mississippi": "^3.0.0",
|
||||
"node-fetch-npm": "^2.0.2",
|
||||
"promise-retry": "^1.1.1",
|
||||
"socks-proxy-agent": "^4.0.0",
|
||||
"ssri": "^6.0.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
@@ -178,6 +493,23 @@
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
|
||||
},
|
||||
"mississippi": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
|
||||
"integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
|
||||
"requires": {
|
||||
"concat-stream": "^1.5.0",
|
||||
"duplexify": "^3.4.2",
|
||||
"end-of-stream": "^1.1.0",
|
||||
"flush-write-stream": "^1.0.0",
|
||||
"from2": "^2.1.0",
|
||||
"parallel-transform": "^1.1.0",
|
||||
"pump": "^3.0.0",
|
||||
"pumpify": "^1.3.3",
|
||||
"stream-each": "^1.1.0",
|
||||
"through2": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
|
||||
@@ -186,11 +518,34 @@
|
||||
"minimist": "0.0.8"
|
||||
}
|
||||
},
|
||||
"move-concurrently": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
|
||||
"integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
|
||||
"requires": {
|
||||
"aproba": "^1.1.1",
|
||||
"copy-concurrently": "^1.0.0",
|
||||
"fs-write-stream-atomic": "^1.0.8",
|
||||
"mkdirp": "^0.5.1",
|
||||
"rimraf": "^2.5.4",
|
||||
"run-queue": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"ms": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
|
||||
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
|
||||
},
|
||||
"node-fetch-npm": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
|
||||
"integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==",
|
||||
"requires": {
|
||||
"encoding": "^0.1.11",
|
||||
"json-parse-better-errors": "^1.0.0",
|
||||
"safe-buffer": "^5.1.1"
|
||||
}
|
||||
},
|
||||
"nopt": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
|
||||
@@ -211,6 +566,30 @@
|
||||
"validate-npm-package-license": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"npm-package-arg": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
|
||||
"integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
|
||||
"requires": {
|
||||
"hosted-git-info": "^2.6.0",
|
||||
"osenv": "^0.1.5",
|
||||
"semver": "^5.5.0",
|
||||
"validate-npm-package-name": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"npm-registry-fetch": {
|
||||
"version": "3.9.0",
|
||||
"resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.9.0.tgz",
|
||||
"integrity": "sha512-srwmt8YhNajAoSAaDWndmZgx89lJwIZ1GWxOuckH4Coek4uHv5S+o/l9FLQe/awA+JwTnj4FJHldxhlXdZEBmw==",
|
||||
"requires": {
|
||||
"JSONStream": "^1.3.4",
|
||||
"bluebird": "^3.5.1",
|
||||
"figgy-pudding": "^3.4.1",
|
||||
"lru-cache": "^4.1.3",
|
||||
"make-fetch-happen": "^4.0.1",
|
||||
"npm-package-arg": "^6.1.0"
|
||||
}
|
||||
},
|
||||
"once": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
@@ -238,6 +617,16 @@
|
||||
"os-tmpdir": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"parallel-transform": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
|
||||
"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
|
||||
"requires": {
|
||||
"cyclist": "~0.2.2",
|
||||
"inherits": "^2.0.3",
|
||||
"readable-stream": "^2.1.5"
|
||||
}
|
||||
},
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
@@ -248,6 +637,60 @@
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
|
||||
},
|
||||
"process-nextick-args": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
|
||||
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
|
||||
},
|
||||
"promise-inflight": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
|
||||
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
|
||||
},
|
||||
"promise-retry": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
|
||||
"integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
|
||||
"requires": {
|
||||
"err-code": "^1.0.0",
|
||||
"retry": "^0.10.0"
|
||||
}
|
||||
},
|
||||
"pseudomap": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
|
||||
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
|
||||
},
|
||||
"pump": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
|
||||
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
}
|
||||
},
|
||||
"pumpify": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
|
||||
"integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
|
||||
"requires": {
|
||||
"duplexify": "^3.6.0",
|
||||
"inherits": "^2.0.3",
|
||||
"pump": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"pump": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
|
||||
"integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"once": "^1.3.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"read-installed": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz",
|
||||
@@ -274,6 +717,20 @@
|
||||
"slash": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "2.3.6",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
|
||||
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
|
||||
"requires": {
|
||||
"core-util-is": "~1.0.0",
|
||||
"inherits": "~2.0.3",
|
||||
"isarray": "~1.0.0",
|
||||
"process-nextick-args": "~2.0.0",
|
||||
"safe-buffer": "~5.1.1",
|
||||
"string_decoder": "~1.1.1",
|
||||
"util-deprecate": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"readdir-scoped-modules": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz",
|
||||
@@ -285,6 +742,14 @@
|
||||
"once": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"rechoir": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
|
||||
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
|
||||
"requires": {
|
||||
"resolve": "^1.1.6"
|
||||
}
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
|
||||
@@ -293,11 +758,52 @@
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
},
|
||||
"retry": {
|
||||
"version": "0.10.1",
|
||||
"resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
|
||||
"integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.6.3",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
|
||||
"integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"run-queue": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
|
||||
"integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
|
||||
"requires": {
|
||||
"aproba": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"safe-buffer": {
|
||||
"version": "5.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||
},
|
||||
"safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"semver": {
|
||||
"version": "5.7.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
|
||||
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA=="
|
||||
},
|
||||
"shelljs": {
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
|
||||
"integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
|
||||
"requires": {
|
||||
"glob": "^7.0.0",
|
||||
"interpret": "^1.0.0",
|
||||
"rechoir": "^0.6.2"
|
||||
}
|
||||
},
|
||||
"slash": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
|
||||
@@ -308,6 +814,39 @@
|
||||
"resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz",
|
||||
"integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc="
|
||||
},
|
||||
"smart-buffer": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz",
|
||||
"integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw=="
|
||||
},
|
||||
"socks": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz",
|
||||
"integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==",
|
||||
"requires": {
|
||||
"ip": "^1.1.5",
|
||||
"smart-buffer": "4.0.2"
|
||||
}
|
||||
},
|
||||
"socks-proxy-agent": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
|
||||
"integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
|
||||
"requires": {
|
||||
"agent-base": "~4.2.1",
|
||||
"socks": "~2.3.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"agent-base": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
|
||||
"integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
|
||||
"requires": {
|
||||
"es6-promisify": "^5.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"spdx-compare": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz",
|
||||
@@ -366,6 +905,36 @@
|
||||
"spdx-ranges": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"ssri": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
|
||||
"integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
|
||||
"requires": {
|
||||
"figgy-pudding": "^3.5.1"
|
||||
}
|
||||
},
|
||||
"stream-each": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
|
||||
"integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
|
||||
"requires": {
|
||||
"end-of-stream": "^1.1.0",
|
||||
"stream-shift": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"stream-shift": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
|
||||
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"requires": {
|
||||
"safe-buffer": "~5.1.0"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
@@ -374,11 +943,51 @@
|
||||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
|
||||
},
|
||||
"through2": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
|
||||
"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
|
||||
"requires": {
|
||||
"readable-stream": "~2.3.6",
|
||||
"xtend": "~4.0.1"
|
||||
}
|
||||
},
|
||||
"treeify": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz",
|
||||
"integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A=="
|
||||
},
|
||||
"typedarray": {
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
|
||||
},
|
||||
"unique-filename": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
|
||||
"integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
|
||||
"requires": {
|
||||
"unique-slug": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"unique-slug": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
|
||||
"integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
|
||||
"requires": {
|
||||
"imurmurhash": "^0.1.4"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
|
||||
},
|
||||
"util-extend": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz",
|
||||
@@ -393,10 +1002,33 @@
|
||||
"spdx-expression-parse": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"validate-npm-package-name": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
|
||||
"integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
|
||||
"requires": {
|
||||
"builtins": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"xtend": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
|
||||
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
|
||||
},
|
||||
"y18n": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
|
||||
"integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
|
||||
},
|
||||
"yallist": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
|
||||
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -4,7 +4,8 @@
|
||||
"version": "3.2.1",
|
||||
"author": "Alfresco Software, Ltd.",
|
||||
"bin": {
|
||||
"adf-license": "./bin/doc/licenseList.js"
|
||||
"adf-license": "./bin/doc/licenseList.js",
|
||||
"adf-audit": "./bin/doc/audit.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -14,9 +15,11 @@
|
||||
"url": "https://github.com/Alfresco/alfresco-ng2-components/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"spdx-license-list": "^5.0.0",
|
||||
"commander": "^2.15.1",
|
||||
"license-checker": "^25.0.1",
|
||||
"commander": "^2.15.1"
|
||||
"npm-registry-fetch": "^3.9.0",
|
||||
"shelljs": "^0.8.3",
|
||||
"spdx-license-list": "^5.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"alfresco-component"
|
||||
|
@@ -18,3 +18,5 @@
|
||||
export * from './like.page';
|
||||
export * from './rate.page';
|
||||
export * from './document-list.page';
|
||||
|
||||
export * from './search/public-api';
|
||||
|
@@ -16,8 +16,8 @@
|
||||
*/
|
||||
|
||||
import { by, browser, protractor } from 'protractor';
|
||||
import { DatePickerPage } from '../../../material/datePickerPage';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
import { DatePickerPage } from '../../../material/pages/date-picker.page';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class DateRangeFilterPage {
|
||||
|
||||
@@ -71,7 +71,7 @@ export class DateRangeFilterPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
checkFromErrorMessageIsDisplayed(msg) {
|
||||
checkFromErrorMessageIsDisplayed(msg: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter.element(this.fromErrorMessage));
|
||||
browser.controlFlow().execute(async () => {
|
||||
await expect(this.filter.element(this.fromErrorMessage).getText()).toEqual(msg);
|
@@ -15,7 +15,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { by, protractor } from 'protractor';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserActions } from '../../../core/utils/browser-actions';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class NumberRangeFilterPage {
|
||||
|
@@ -0,0 +1,25 @@
|
||||
/*!
|
||||
* @license
|
||||
* Copyright 2019 Alfresco Software, Ltd.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export * from './search-categories.page';
|
||||
export * from './date-range-filter.page';
|
||||
export * from './number-range-filter.page';
|
||||
export * from './search-checkList.page';
|
||||
export * from './search-radio.page';
|
||||
export * from './search-slider.page';
|
||||
export * from './search-sorting-picker.page';
|
||||
export * from './search-text.page';
|
@@ -16,13 +16,14 @@
|
||||
*/
|
||||
|
||||
import { by, ElementFinder } from 'protractor';
|
||||
import { SearchTextPage } from './components/search-text';
|
||||
import { SearchCheckListPage } from './components/search-checkList';
|
||||
import { SearchRadioPage } from './components/search-radio';
|
||||
import { DateRangeFilterPage } from './components/dateRangeFilterPage';
|
||||
import { NumberRangeFilterPage } from './components/numberRangeFilterPage';
|
||||
import { SearchSliderPage } from './components/search-slider.page';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { SearchTextPage } from './search-text.page';
|
||||
import { SearchCheckListPage } from './search-checkList.page';
|
||||
import { SearchRadioPage } from './search-radio.page';
|
||||
import { DateRangeFilterPage } from './date-range-filter.page';
|
||||
import { NumberRangeFilterPage } from './number-range-filter.page';
|
||||
import { SearchSliderPage } from './search-slider.page';
|
||||
import { BrowserActions } from '../../../core/utils/browser-actions';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchCategoriesPage {
|
||||
|
@@ -16,7 +16,8 @@
|
||||
*/
|
||||
|
||||
import { element, by, ElementFinder } from 'protractor';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserActions } from '../../../core/utils/browser-actions';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchCheckListPage {
|
||||
|
||||
@@ -30,29 +31,29 @@ export class SearchCheckListPage {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
clickCheckListOption(option) {
|
||||
clickCheckListOption(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter);
|
||||
const result = this.filter.all(by.css(`mat-checkbox[data-automation-id*='${option}'] .mat-checkbox-inner-container`)).first();
|
||||
BrowserActions.click(result);
|
||||
}
|
||||
|
||||
checkChipIsDisplayed(option) {
|
||||
checkChipIsDisplayed(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
|
||||
return this;
|
||||
}
|
||||
|
||||
checkChipIsNotDisplayed(option) {
|
||||
checkChipIsNotDisplayed(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsNotOnPage(element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon')));
|
||||
return this;
|
||||
}
|
||||
|
||||
removeFilterOption(option) {
|
||||
removeFilterOption(option: string) {
|
||||
const cancelChipButton = element(by.cssContainingText('mat-chip', option)).element(by.css('mat-icon'));
|
||||
BrowserActions.click(cancelChipButton);
|
||||
return this;
|
||||
}
|
||||
|
||||
filterBy(option) {
|
||||
filterBy(option: string) {
|
||||
this.checkSearchFilterInputIsDisplayed();
|
||||
this.searchInFilter(option);
|
||||
this.clickCheckListOption(option);
|
||||
@@ -64,7 +65,7 @@ export class SearchCheckListPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
searchInFilter(option) {
|
||||
searchInFilter(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsClickable(this.filter);
|
||||
const inputElement = this.filter.all(this.inputBy).first();
|
||||
BrowserVisibility.waitUntilElementIsClickable(inputElement);
|
||||
@@ -118,7 +119,7 @@ export class SearchCheckListPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
getBucketNumberOfFilterType(option) {
|
||||
getBucketNumberOfFilterType(option: string) {
|
||||
const fileTypeFilter = this.filter.all(by.css('mat-checkbox[data-automation-id*=".' + option + '"] span')).first();
|
||||
BrowserVisibility.waitUntilElementIsVisible(fileTypeFilter);
|
||||
const bucketNumber = fileTypeFilter.getText().then((valueOfBucket) => {
|
||||
@@ -130,19 +131,19 @@ export class SearchCheckListPage {
|
||||
return bucketNumber;
|
||||
}
|
||||
|
||||
checkCheckListOptionIsDisplayed(option) {
|
||||
checkCheckListOptionIsDisplayed(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter);
|
||||
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}']`));
|
||||
return BrowserVisibility.waitUntilElementIsVisible(result);
|
||||
}
|
||||
|
||||
checkCheckListOptionIsNotSelected(option) {
|
||||
checkCheckListOptionIsNotSelected(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter);
|
||||
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}'][class*='checked']`));
|
||||
return BrowserVisibility.waitUntilElementIsNotVisible(result);
|
||||
}
|
||||
|
||||
checkCheckListOptionIsSelected(option) {
|
||||
checkCheckListOptionIsSelected(option: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter);
|
||||
const result = this.filter.element(by.css(`mat-checkbox[data-automation-id*='-${option}'][class*='checked']`));
|
||||
return BrowserVisibility.waitUntilElementIsVisible(result);
|
@@ -16,7 +16,8 @@
|
||||
*/
|
||||
|
||||
import { element, by, browser } from 'protractor';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserActions } from '../../../core/utils/browser-actions';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchRadioPage {
|
||||
|
||||
@@ -28,17 +29,17 @@ export class SearchRadioPage {
|
||||
this.filter = filter;
|
||||
}
|
||||
|
||||
checkFilterRadioButtonIsDisplayed(filterName) {
|
||||
checkFilterRadioButtonIsDisplayed(filterName: string) {
|
||||
const filterType = element(by.css('mat-radio-button[data-automation-id="search-radio-' + filterName + '"]'));
|
||||
return BrowserVisibility.waitUntilElementIsVisible(filterType);
|
||||
}
|
||||
|
||||
checkFilterRadioButtonIsChecked(filterName) {
|
||||
checkFilterRadioButtonIsChecked(filterName: string) {
|
||||
const selectedFilterType = element(by.css('mat-radio-button[data-automation-id="search-radio-' + filterName + '"][class*="checked"]'));
|
||||
return BrowserVisibility.waitUntilElementIsVisible(selectedFilterType);
|
||||
}
|
||||
|
||||
clickFilterRadioButton(filterName) {
|
||||
clickFilterRadioButton(filterName: string) {
|
||||
browser.executeScript(`document.querySelector('[data-automation-id="search-radio-${filterName}"] input').click();`);
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { browser, by } from 'protractor';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchSliderPage {
|
||||
|
||||
@@ -41,8 +41,7 @@ export class SearchSliderPage {
|
||||
return this.filter.element(this.slider).getAttribute('aria-valuenow');
|
||||
}
|
||||
|
||||
setValue(value) {
|
||||
|
||||
setValue(value: number) {
|
||||
browser.actions().dragAndDrop(
|
||||
this.filter.element(this.slider).element(by.css('div[class="mat-slider-thumb"]')),
|
||||
{ x: value * 10, y: 0 }
|
@@ -16,7 +16,8 @@
|
||||
*/
|
||||
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { BrowserActions } from '../../../core/utils/browser-actions';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchSortingPickerPage {
|
||||
|
||||
@@ -24,7 +25,7 @@ export class SearchSortingPickerPage {
|
||||
orderArrow = element(by.css('adf-sorting-picker button mat-icon'));
|
||||
optionsDropdown = element(by.css('div[class*="mat-select-panel"]'));
|
||||
|
||||
sortBy(sortOrder, sortType) {
|
||||
sortBy(sortOrder: string, sortType: string | RegExp) {
|
||||
BrowserActions.click(this.sortingSelector);
|
||||
const selectedSortingOption = element(by.cssContainingText('span[class="mat-option-text"]', sortType));
|
||||
BrowserActions.click(selectedSortingOption);
|
||||
@@ -32,10 +33,15 @@ export class SearchSortingPickerPage {
|
||||
this.sortByOrder(sortOrder);
|
||||
}
|
||||
|
||||
sortByOrder(sortOrder) {
|
||||
/**
|
||||
* Sort the list by name column.
|
||||
*
|
||||
* @param sortOrder : 'ASC' to sort the list ascendant and 'DESC' for descendant
|
||||
*/
|
||||
sortByOrder(sortOrder: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.orderArrow);
|
||||
this.orderArrow.getText().then((result) => {
|
||||
if (sortOrder === true) {
|
||||
if (sortOrder.toLocaleLowerCase() === 'asc') {
|
||||
if (result !== 'arrow_upward') {
|
||||
browser.executeScript(`document.querySelector('adf-sorting-picker button mat-icon').click();`);
|
||||
}
|
@@ -16,7 +16,7 @@
|
||||
*/
|
||||
|
||||
import { protractor, by } from 'protractor';
|
||||
import { BrowserVisibility } from '@alfresco/adf-testing';
|
||||
import { BrowserVisibility } from '../../../core/utils/browser-visibility';
|
||||
|
||||
export class SearchTextPage {
|
||||
|
||||
@@ -32,7 +32,7 @@ export class SearchTextPage {
|
||||
return this.filter.element(this.inputBy).getAttribute('placeholder');
|
||||
}
|
||||
|
||||
searchByName(name) {
|
||||
searchByName(name: string) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(this.filter);
|
||||
this.filter.element(this.inputBy).clear();
|
||||
this.filter.element(this.inputBy).sendKeys(name).sendKeys(protractor.Key.ENTER);
|
@@ -132,25 +132,28 @@ export class DataTableComponentPage {
|
||||
/**
|
||||
* Check the list is sorted.
|
||||
*
|
||||
* @param sortOrder: 'true' if the list is expected to be sorted ascendant and 'false' for descendant
|
||||
* @param locator: locator for column
|
||||
* @param sortOrder: 'ASC' if the list is expected to be sorted ascending and 'DESC' for descending
|
||||
* @param columnTitle: titleColumn column
|
||||
* @return 'true' if the list is sorted as expected and 'false' if it isn't
|
||||
*/
|
||||
checkListIsSorted(sortOrder, locator) {
|
||||
checkListIsSorted(sortOrder: string, columnTitle: string) {
|
||||
const deferred = protractor.promise.defer();
|
||||
const column = element.all(by.css(`div[title='${locator}'] span`));
|
||||
const column = element.all(by.css(`div.adf-datatable-cell[title='${columnTitle}'] span`));
|
||||
BrowserVisibility.waitUntilElementIsVisible(column.first());
|
||||
const initialList = [];
|
||||
column.each(function (currentElement) {
|
||||
currentElement.getText().then(function (text) {
|
||||
initialList.push(text);
|
||||
if (text.length !== 0) {
|
||||
initialList.push(text.toLowerCase());
|
||||
}
|
||||
});
|
||||
}).then(function () {
|
||||
let sortedList = initialList;
|
||||
let sortedList = [...initialList];
|
||||
sortedList = sortedList.sort();
|
||||
if (sortOrder === false) {
|
||||
if (sortOrder.toLocaleLowerCase() === 'desc') {
|
||||
sortedList = sortedList.reverse();
|
||||
}
|
||||
|
||||
deferred.fulfill(initialList.toString() === sortedList.toString());
|
||||
});
|
||||
return deferred.promise;
|
||||
@@ -209,11 +212,16 @@ export class DataTableComponentPage {
|
||||
return element.all(by.css(`adf-datatable div[title="${detail}"] span`));
|
||||
}
|
||||
|
||||
sortByColumn(sortOrder, column) {
|
||||
const locator = by.css(`div[data-automation-id="auto_id_${column}"]`);
|
||||
/**
|
||||
* Sort the list by name column.
|
||||
*
|
||||
* @param sortOrder : 'ASC' to sort the list ascendant and 'DESC' for descendant
|
||||
*/
|
||||
sortByColumn(sortOrder: string, titleColumn: string) {
|
||||
const locator = by.css(`div[data-automation-id="auto_id_${titleColumn}"]`);
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(locator));
|
||||
return element(locator).getAttribute('class').then(function (result) {
|
||||
if (sortOrder === true) {
|
||||
if (sortOrder.toLocaleLowerCase() === 'asc') {
|
||||
if (!result.includes('sorted-asc')) {
|
||||
if (result.includes('sorted-desc') || result.includes('sortable')) {
|
||||
element(locator).click();
|
||||
@@ -274,6 +282,10 @@ export class DataTableComponentPage {
|
||||
return this;
|
||||
}
|
||||
|
||||
waitTillContentLoaded() {
|
||||
return BrowserVisibility.waitUntilElementIsVisible(this.contents);
|
||||
}
|
||||
|
||||
checkColumnIsDisplayed(column) {
|
||||
BrowserVisibility.waitUntilElementIsVisible(element(by.css(`div[data-automation-id="auto_id_entry.${column}"]`)));
|
||||
return this;
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import * as moment from 'moment';
|
||||
import moment from 'moment-es6';
|
||||
|
||||
export class DateUtil {
|
||||
|
@@ -22,3 +22,4 @@ export * from './protractor.util';
|
||||
export * from './local-storage.util';
|
||||
export * from './file-browser.util';
|
||||
export * from './form.util';
|
||||
export * from './date-util';
|
||||
|
@@ -16,8 +16,9 @@
|
||||
*/
|
||||
|
||||
import { element, by, browser } from 'protractor';
|
||||
import { DateUtil } from '../../../util/dateUtil';
|
||||
import { BrowserVisibility, BrowserActions } from '@alfresco/adf-testing';
|
||||
import { DateUtil } from '../../core/utils/date-util';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { BrowserActions } from '../../core/utils/browser-actions';
|
||||
|
||||
export class DatePickerPage {
|
||||
|
@@ -16,3 +16,4 @@
|
||||
*/
|
||||
|
||||
export * from './tabs.page';
|
||||
export * from './date-picker.page';
|
||||
|
@@ -14,7 +14,7 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { EditProcessFilterDialogPage } from './dialog/edit-process-filter-dialog.page';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { BrowserActions } from '../../core/utils/browser-actions';
|
||||
@@ -76,6 +76,7 @@ export class EditProcessFilterCloudComponentPage {
|
||||
|
||||
const orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
|
||||
BrowserActions.click(orderElement);
|
||||
browser.sleep(1000);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { by, element, protractor } from 'protractor';
|
||||
import { browser, by, element, protractor } from 'protractor';
|
||||
import { EditTaskFilterDialogPage } from './dialog/edit-task-filter-dialog.page';
|
||||
import { BrowserVisibility } from '../../core/utils/browser-visibility';
|
||||
import { BrowserActions } from '../../core/utils/browser-actions';
|
||||
@@ -79,6 +79,7 @@ export class EditTaskFilterCloudComponentPage {
|
||||
|
||||
const orderElement = element.all(by.cssContainingText('mat-option span', option)).first();
|
||||
BrowserActions.click(orderElement);
|
||||
browser.sleep(1000);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
22
package-lock.json
generated
22
package-lock.json
generated
@@ -6504,8 +6504,7 @@
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
|
||||
"dev": true
|
||||
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "1.2.7",
|
||||
@@ -7203,7 +7202,6 @@
|
||||
"version": "7.1.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
|
||||
"integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
@@ -8242,7 +8240,6 @@
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
@@ -8351,8 +8348,7 @@
|
||||
"interpret": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
|
||||
"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
|
||||
},
|
||||
"invariant": {
|
||||
"version": "2.2.4",
|
||||
@@ -10855,7 +10851,6 @@
|
||||
"version": "3.0.4",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
|
||||
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
@@ -11991,7 +11986,6 @@
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@@ -12472,8 +12466,7 @@
|
||||
"path-is-absolute": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
|
||||
"dev": true
|
||||
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
|
||||
},
|
||||
"path-is-inside": {
|
||||
"version": "1.0.2",
|
||||
@@ -12490,8 +12483,7 @@
|
||||
"path-parse": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
|
||||
},
|
||||
"path-to-regexp": {
|
||||
"version": "0.1.7",
|
||||
@@ -13750,7 +13742,6 @@
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
|
||||
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"resolve": "^1.1.6"
|
||||
}
|
||||
@@ -14069,7 +14060,6 @@
|
||||
"version": "1.10.0",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.0.tgz",
|
||||
"integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"path-parse": "^1.0.6"
|
||||
}
|
||||
@@ -14901,7 +14891,6 @@
|
||||
"version": "0.8.3",
|
||||
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
|
||||
"integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.0.0",
|
||||
"interpret": "^1.0.0",
|
||||
@@ -18604,8 +18593,7 @@
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
|
||||
"dev": true
|
||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"write": {
|
||||
"version": "1.0.3",
|
||||
|
@@ -112,6 +112,7 @@
|
||||
"reflect-metadata": "0.1.13",
|
||||
"remark-validate-links": "^8.0.0",
|
||||
"rxjs": "^6.2.2",
|
||||
"shelljs": "^0.8.3",
|
||||
"systemjs": "0.19.27",
|
||||
"web-animations-js": "2.3.1",
|
||||
"zone.js": "~0.8.26"
|
||||
|
Reference in New Issue
Block a user