mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[ACA-4589] Remove requirement for update permission on node to open manage versions dialog (#8483)
This commit is contained in:
@@ -20,7 +20,6 @@ import { ComponentFixture, fakeAsync, TestBed, tick } from '@angular/core/testin
|
||||
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { BehaviorSubject, of, Subject } from 'rxjs';
|
||||
import { ContentService } from '../common/services/content.service';
|
||||
import { mockFile, mockNewVersionUploaderData, mockNode } from '../mock';
|
||||
import { ContentTestingModule } from '../testing/content.testing.module';
|
||||
import {
|
||||
@@ -51,7 +50,6 @@ class TestDialogComponent {
|
||||
describe('NewVersionUploaderService', () => {
|
||||
let fixture: ComponentFixture<TestDialogComponent>;
|
||||
let service: NewVersionUploaderService;
|
||||
let contentService: ContentService;
|
||||
let dialog: MatDialog;
|
||||
let spyOnDialogOpen: jasmine.Spy;
|
||||
let dialogRefSpyObj;
|
||||
@@ -68,7 +66,6 @@ describe('NewVersionUploaderService', () => {
|
||||
|
||||
beforeEach(() => {
|
||||
service = TestBed.inject(NewVersionUploaderService);
|
||||
contentService = TestBed.inject(ContentService);
|
||||
dialog = TestBed.inject(MatDialog);
|
||||
fixture = TestBed.createComponent(TestDialogComponent);
|
||||
|
||||
@@ -83,29 +80,9 @@ describe('NewVersionUploaderService', () => {
|
||||
});
|
||||
|
||||
describe('openUploadNewVersionDialog', () => {
|
||||
it('Should not open dialog if update operation is not allowed', () => {
|
||||
spyOn(contentService, 'hasAllowableOperations').and.returnValue(false);
|
||||
expect(spyOnDialogOpen).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('Should return error if update operation is not allowed', async () => {
|
||||
spyOn(contentService, 'hasAllowableOperations').and.returnValue(false);
|
||||
const mockNewVersionUploaderDialogData: NewVersionUploaderDialogData = {
|
||||
node: mockNode,
|
||||
file: mockFile
|
||||
};
|
||||
try {
|
||||
await service.openUploadNewVersionDialog(mockNewVersionUploaderDialogData).toPromise();
|
||||
fail('An error should have been thrown');
|
||||
} catch (error) {
|
||||
expect(error).toEqual({ value: 'OPERATION.ERROR.PERMISSION' });
|
||||
}
|
||||
});
|
||||
|
||||
describe('Mat Dialog configuration', () => {
|
||||
let mockNewVersionUploaderDialogData: NewVersionUploaderDialogData;
|
||||
beforeEach(() => {
|
||||
spyOn(contentService, 'hasAllowableOperations').and.returnValue(true);
|
||||
spyOn(service.versionsApi, 'listVersionHistory').and.returnValue(Promise.resolve({
|
||||
list: { entries: [{ entry: '2' }] }
|
||||
} as any));
|
||||
@@ -220,7 +197,6 @@ describe('NewVersionUploaderService', () => {
|
||||
let mockNewVersionUploaderDialogData: NewVersionUploaderDialogData;
|
||||
|
||||
beforeEach(() => {
|
||||
spyOn(contentService, 'hasAllowableOperations').and.returnValue(true);
|
||||
spyOn(service.versionsApi, 'listVersionHistory').and.returnValue(Promise.resolve({
|
||||
list: { entries: [{ entry: '2' }] }
|
||||
}) as any);
|
||||
|
@@ -18,7 +18,6 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
|
||||
import { AlfrescoApiService } from '@alfresco/adf-core';
|
||||
import { ContentService } from '../common/services/content.service';
|
||||
|
||||
import { NewVersionUploaderDialogComponent } from './new-version-uploader.dialog';
|
||||
import { VersionPaging, VersionsApi } from '@alfresco/js-api';
|
||||
@@ -38,7 +37,6 @@ export class NewVersionUploaderService {
|
||||
}
|
||||
|
||||
constructor(
|
||||
private contentService: ContentService,
|
||||
private apiService: AlfrescoApiService,
|
||||
private dialog: MatDialog,
|
||||
private overlayContainer: OverlayContainer
|
||||
@@ -61,7 +59,6 @@ export class NewVersionUploaderService {
|
||||
const allowDownload = true;
|
||||
|
||||
return new Observable((observer) => {
|
||||
if (this.contentService.hasAllowableOperations(node, 'update')) {
|
||||
this.versionsApi.listVersionHistory(node.id).then((versionPaging: VersionPaging) => {
|
||||
const dialogRef = this.dialog.open(NewVersionUploaderDialogComponent, {
|
||||
data: { file, node, currentVersion: versionPaging.list.entries[0].entry, showComments, allowDownload, showVersionsOnly },
|
||||
@@ -82,9 +79,6 @@ export class NewVersionUploaderService {
|
||||
});
|
||||
this.overlayContainer.getContainerElement().setAttribute('role', 'main');
|
||||
});
|
||||
} else {
|
||||
observer.error({ value: 'OPERATION.ERROR.PERMISSION' });
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user