mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
fix protractor report
fix validation fix log deprecated fix ADF-3576 Single required dropdown column dynamicgrid aps-form row editor not saving
This commit is contained in:
@@ -201,9 +201,7 @@ export class FormModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (errorsField.length > 0) {
|
this._isValid = errorsField.length > 0 ? false : true;
|
||||||
this._isValid = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.formService) {
|
if (this.formService) {
|
||||||
validateFormEvent.isValid = this._isValid;
|
validateFormEvent.isValid = this._isValid;
|
||||||
|
@@ -8,7 +8,7 @@
|
|||||||
[(ngModel)]="value"
|
[(ngModel)]="value"
|
||||||
[required]="column.required"
|
[required]="column.required"
|
||||||
[disabled]="!column.editable"
|
[disabled]="!column.editable"
|
||||||
(selectionChange)="onValueChanged(row, column, $event)">
|
(ngModelChange)="onValueChanged(row, column, $event)">
|
||||||
<mat-option></mat-option>
|
<mat-option></mat-option>
|
||||||
<mat-option *ngFor="let opt of options" [value]="opt.name" [id]="opt.id">{{opt.name}}</mat-option>
|
<mat-option *ngFor="let opt of options" [value]="opt.name" [id]="opt.id">{{opt.name}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
@@ -72,7 +72,7 @@ export class SettingsService {
|
|||||||
|
|
||||||
/** @deprecated in 1.7.0 */
|
/** @deprecated in 1.7.0 */
|
||||||
public setProviders(providers: string) {
|
public setProviders(providers: string) {
|
||||||
this.logService.log(`SettingsService.aetProviders is deprecated. Use the app-config.json`);
|
this.logService.log(`SettingsService.setProviders is deprecated. Use the app-config.json`);
|
||||||
if (providers) {
|
if (providers) {
|
||||||
this.storage.setItem(AppConfigValues.PROVIDERS, providers);
|
this.storage.setItem(AppConfigValues.PROVIDERS, providers);
|
||||||
}
|
}
|
||||||
|
@@ -142,8 +142,6 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
|
|
||||||
<div fxLayout="row" fxFlex="1 1 auto">
|
<div fxLayout="row" fxFlex="1 1 auto">
|
||||||
showSidebar 1 {{showSidebar}}
|
|
||||||
|
|
||||||
<ng-container *ngIf="allowSidebar && showSidebar">
|
<ng-container *ngIf="allowSidebar && showSidebar">
|
||||||
showSidebar {{showSidebar}}
|
showSidebar {{showSidebar}}
|
||||||
<div class="adf-viewer__sidebar" [ngClass]="'adf-viewer__sidebar__right'" fxFlexOrder="4" id="adf-right-sidebar" >
|
<div class="adf-viewer__sidebar" [ngClass]="'adf-viewer__sidebar__right'" fxFlexOrder="4" id="adf-right-sidebar" >
|
||||||
|
@@ -124,7 +124,7 @@
|
|||||||
<div *ngIf="showHeaderContent" class="adf-task-details-core-sidebar-checklist">
|
<div *ngIf="showHeaderContent" class="adf-task-details-core-sidebar-checklist">
|
||||||
<div *ngIf="showChecklist">
|
<div *ngIf="showChecklist">
|
||||||
<adf-checklist #activitichecklist
|
<adf-checklist #activitichecklist
|
||||||
[readOnly]="readOnlyForm"
|
[readOnly]="internalReadOnlyForm"
|
||||||
[taskId]="taskDetails.id"
|
[taskId]="taskDetails.id"
|
||||||
[assignee]="taskDetails?.assignee?.id"
|
[assignee]="taskDetails?.assignee?.id"
|
||||||
(checklistTaskCreated)="onChecklistTaskCreated($event)"
|
(checklistTaskCreated)="onChecklistTaskCreated($event)"
|
||||||
|
@@ -175,6 +175,7 @@ export class TaskDetailsComponent implements OnInit, OnChanges {
|
|||||||
|
|
||||||
showAssignee: boolean = false;
|
showAssignee: boolean = false;
|
||||||
showAttachForm: boolean = false;
|
showAttachForm: boolean = false;
|
||||||
|
internalReadOnlyForm: boolean = false;
|
||||||
|
|
||||||
private peopleSearchObserver: Observer<UserProcessModel[]>;
|
private peopleSearchObserver: Observer<UserProcessModel[]>;
|
||||||
public errorDialogRef: MatDialogRef<TemplateRef<any>>;
|
public errorDialogRef: MatDialogRef<TemplateRef<any>>;
|
||||||
@@ -306,7 +307,9 @@ export class TaskDetailsComponent implements OnInit, OnChanges {
|
|||||||
|
|
||||||
let endDate: any = res.endDate;
|
let endDate: any = res.endDate;
|
||||||
if (endDate && !isNaN(endDate.getTime())) {
|
if (endDate && !isNaN(endDate.getTime())) {
|
||||||
this.readOnlyForm = true;
|
this.internalReadOnlyForm = true;
|
||||||
|
} else {
|
||||||
|
this.internalReadOnlyForm = this.readOnlyForm
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.taskDetails && this.taskDetails.involvedPeople) {
|
if (this.taskDetails && this.taskDetails.involvedPeople) {
|
||||||
|
@@ -9,6 +9,7 @@ const TestConfig = require('./e2e/test.config');
|
|||||||
var argv = require('yargs').argv;
|
var argv = require('yargs').argv;
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const rimraf = require('rimraf');
|
||||||
|
|
||||||
const projectRoot = path.resolve(__dirname);
|
const projectRoot = path.resolve(__dirname);
|
||||||
|
|
||||||
@@ -38,6 +39,15 @@ if (BROWSER_RUN === 'true') {
|
|||||||
|
|
||||||
var downloadFolder = path.join(__dirname, 'e2e/downloads');
|
var downloadFolder = path.join(__dirname, 'e2e/downloads');
|
||||||
|
|
||||||
|
var buildNumber = () => {
|
||||||
|
let buildNumber = process.env.TRAVIS_BUILD_NUMBER;
|
||||||
|
if (!buildNumber) {
|
||||||
|
process.env.TRAVIS_BUILD_NUMBER = Date.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
return process.env.TRAVIS_BUILD_NUMBER;
|
||||||
|
}
|
||||||
|
|
||||||
exports.config = {
|
exports.config = {
|
||||||
allScriptsTimeout: 60000,
|
allScriptsTimeout: 60000,
|
||||||
|
|
||||||
@@ -135,7 +145,7 @@ exports.config = {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
onComplete: async function () {
|
afterLaunch: async function () {
|
||||||
var retryCount = 1;
|
var retryCount = 1;
|
||||||
if (argv.retry) {
|
if (argv.retry) {
|
||||||
retryCount = ++argv.retry;
|
retryCount = ++argv.retry;
|
||||||
@@ -145,7 +155,6 @@ exports.config = {
|
|||||||
|
|
||||||
console.log(filenameReport);
|
console.log(filenameReport);
|
||||||
|
|
||||||
let buildNumber = process.env.TRAVIS_BUILD_NUMBER;
|
|
||||||
let saveScreenshot = process.env.SAVE_SCREENSHOT;
|
let saveScreenshot = process.env.SAVE_SCREENSHOT;
|
||||||
|
|
||||||
let alfrescoJsApi = new AlfrescoApi({
|
let alfrescoJsApi = new AlfrescoApi({
|
||||||
@@ -155,18 +164,17 @@ exports.config = {
|
|||||||
alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
alfrescoJsApi.login(TestConfig.adf.adminEmail, TestConfig.adf.adminPassword);
|
||||||
|
|
||||||
if (saveScreenshot === 'true') {
|
if (saveScreenshot === 'true') {
|
||||||
if (!buildNumber) {
|
|
||||||
buildNumber = Date.now();
|
|
||||||
}
|
|
||||||
|
|
||||||
let files = fs.readdirSync(path.join(__dirname, './e2e-output/screenshots'));
|
let files = fs.readdirSync(path.join(__dirname, './e2e-output/screenshots'));
|
||||||
|
|
||||||
if (files && files.length > 0) {
|
if (files && files.length > 0) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
folder = await alfrescoJsApi.nodes.addNode('-my-', {
|
folder = await
|
||||||
'name': 'screenshot',
|
alfrescoJsApi.nodes.addNode('-my-', {
|
||||||
'relativePath': `Builds/${buildNumber}`,
|
'name': `retry-${retryCount}`,
|
||||||
|
'relativePath': `Builds/${buildNumber()}/screenshot`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
@@ -174,8 +182,9 @@ exports.config = {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Folder screenshot already present');
|
console.log('Folder screenshot already present');
|
||||||
|
|
||||||
folder = await alfrescoJsApi.nodes.getNode('-my-', {
|
folder = await
|
||||||
'relativePath': `Builds/${buildNumber}/screenshot`,
|
alfrescoJsApi.nodes.getNode('-my-', {
|
||||||
|
'relativePath': `Builds/${buildNumber()}/screenshot/retry-${retryCount}`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
@@ -187,7 +196,8 @@ exports.config = {
|
|||||||
let pathFile = path.join(__dirname, './e2e-output/screenshots', fileName);
|
let pathFile = path.join(__dirname, './e2e-output/screenshots', fileName);
|
||||||
let file = fs.createReadStream(pathFile);
|
let file = fs.createReadStream(pathFile);
|
||||||
|
|
||||||
await alfrescoJsApi.upload.uploadFile(
|
await
|
||||||
|
alfrescoJsApi.upload.uploadFile(
|
||||||
file,
|
file,
|
||||||
'',
|
'',
|
||||||
folder.entry.id,
|
folder.entry.id,
|
||||||
@@ -201,15 +211,15 @@ exports.config = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
testConfig = {
|
testConfigReport = {
|
||||||
reportTitle: 'Protractor Test Execution Report',
|
reportTitle: 'Protractor Test Execution Report',
|
||||||
outputPath: `${projectRoot}/e2e-output/junit-report`,
|
outputPath: `${projectRoot}/e2e-output/junit-report`,
|
||||||
outputFilename: filenameReport,
|
outputFilename: filenameReport,
|
||||||
screenshotPath: '`${projectRoot}/e2e-output/screenshots/`',
|
screenshotPath: `${projectRoot}/e2e-output/screenshots/`,
|
||||||
screenshotsOnlyOnFailure: true,
|
screenshotsOnlyOnFailure: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
new htmlReporter().from(`${projectRoot}/e2e-output/junit-report/results.xml`, testConfig);
|
new htmlReporter().from(`${projectRoot}/e2e-output/junit-report/results.xml`, testConfigReport);
|
||||||
|
|
||||||
let pathFile = path.join(__dirname, './e2e-output/junit-report', filenameReport + '.html');
|
let pathFile = path.join(__dirname, './e2e-output/junit-report', filenameReport + '.html');
|
||||||
let reportFile = fs.createReadStream(pathFile);
|
let reportFile = fs.createReadStream(pathFile);
|
||||||
@@ -217,9 +227,10 @@ exports.config = {
|
|||||||
let reportFolder;
|
let reportFolder;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
reportFolder = await alfrescoJsApi.nodes.addNode('-my-', {
|
reportFolder = await
|
||||||
|
alfrescoJsApi.nodes.addNode('-my-', {
|
||||||
'name': 'report',
|
'name': 'report',
|
||||||
'relativePath': `Builds/${buildNumber}`,
|
'relativePath': `Builds/${buildNumber()}`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
@@ -227,8 +238,9 @@ exports.config = {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('Folder report already present' + error);
|
console.log('Folder report already present' + error);
|
||||||
|
|
||||||
reportFolder = await alfrescoJsApi.nodes.getNode('-my-', {
|
reportFolder = await
|
||||||
'relativePath': `Builds/${buildNumber}/report`,
|
alfrescoJsApi.nodes.getNode('-my-', {
|
||||||
|
'relativePath': `Builds/${buildNumber()}/report`,
|
||||||
'nodeType': 'cm:folder'
|
'nodeType': 'cm:folder'
|
||||||
}, {}, {
|
}, {}, {
|
||||||
'overwrite': true
|
'overwrite': true
|
||||||
@@ -237,7 +249,8 @@ exports.config = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await alfrescoJsApi.upload.uploadFile(
|
await
|
||||||
|
alfrescoJsApi.upload.uploadFile(
|
||||||
reportFile,
|
reportFile,
|
||||||
'',
|
'',
|
||||||
reportFolder.entry.id,
|
reportFolder.entry.id,
|
||||||
@@ -252,9 +265,12 @@ exports.config = {
|
|||||||
console.log('error' + error);
|
console.log('error' + error);
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
|
|
||||||
afterLaunch() {
|
rimraf(`${projectRoot}/e2e-output/screenshots/`, function () { console.log('done delete screenshot'); });
|
||||||
|
|
||||||
return retry.afterLaunch(3);
|
return retry.afterLaunch(3);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user