mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-31 17:38:48 +00:00
[ADF-2556] Created component for add group or user to permission (#3242)
* [ADF-2556] first step to create add people or group to permissions * [ADF-2556] creating a dialog with user results * [ADF-2556] integrated service for add and remove permission from node * [ADF-2556] fixed behaviour and style for add user group * [ADF-2556] added some refactoring for dialog service * [ADF-2556] refactoring the dependencies of the components * [ADF-2556] added some fix and a new key for dialog * [ADF-2556] start adding test for node permission service * [ADF-2556] added test for add permission panel component * [ADf-2556] adding tests for new add permission component * [ADF-2556] fixed tests and added documentation * [ADF-2556] fixed documentation for add-node components * [ADF-2556] added peer review changes
This commit is contained in:
@@ -20,7 +20,10 @@ import { NodePermissionService } from './node-permission.service';
|
||||
import { SearchService, NodesApiService, setupTestBed, CoreModule } from '@alfresco/adf-core';
|
||||
import { MinimalNodeEntryEntity, PermissionElement } from 'alfresco-js-api';
|
||||
import { Observable } from 'rxjs/Observable';
|
||||
import { fakeEmptyResponse, fakeNodeWithOnlyLocally, fakeSiteRoles, fakeSiteNodeResponse } from '../../mock/permission-list.component.mock';
|
||||
import { fakeEmptyResponse, fakeNodeWithOnlyLocally, fakeSiteRoles, fakeSiteNodeResponse,
|
||||
fakeNodeToRemovePermission } from '../../mock/permission-list.component.mock';
|
||||
import { fakeAuthorityResults } from '../../mock/add-permission.component.mock';
|
||||
import { NodePermissionDialogService } from './node-permission-dialog.service';
|
||||
|
||||
describe('NodePermissionService', () => {
|
||||
|
||||
@@ -33,6 +36,7 @@ describe('NodePermissionService', () => {
|
||||
CoreModule.forRoot()
|
||||
],
|
||||
providers: [
|
||||
NodePermissionDialogService,
|
||||
NodePermissionService
|
||||
]
|
||||
});
|
||||
@@ -85,7 +89,7 @@ describe('NodePermissionService', () => {
|
||||
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
|
||||
service.updatePermissionRoles(fakeNodeWithOnlyLocally, fakePermission).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
service.updatePermissionRole(fakeNodeWithOnlyLocally, fakePermission).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(1);
|
||||
@@ -95,4 +99,53 @@ describe('NodePermissionService', () => {
|
||||
});
|
||||
}));
|
||||
|
||||
it('should be able to remove a locally set permission', async(() => {
|
||||
const fakePermission: PermissionElement = <PermissionElement> {
|
||||
'authorityId': 'FAKE_PERSON_1',
|
||||
'name': 'Contributor',
|
||||
'accessStatus' : 'ALLOWED'
|
||||
};
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
const fakeNodeCopy = Object.assign(fakeNodeToRemovePermission);
|
||||
|
||||
service.removePermission(fakeNodeCopy, fakePermission).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(2);
|
||||
expect(node.permissions.locallySet[0].authorityId).not.toBe(fakePermission.authorityId);
|
||||
expect(node.permissions.locallySet[1].authorityId).not.toBe(fakePermission.authorityId);
|
||||
});
|
||||
}));
|
||||
|
||||
it('should be able to update locally set permissions on the node by node id', async(() => {
|
||||
const fakeNodeCopy = Object.assign(fakeNodeWithOnlyLocally);
|
||||
spyOn(nodeService, 'getNode').and.returnValue(Observable.of(fakeNodeCopy));
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
spyOn(searchApiService, 'searchByQueryBody').and.returnValue(Observable.of(fakeSiteNodeResponse));
|
||||
spyOn(service, 'getGroupMemeberByGroupName').and.returnValue(Observable.of(fakeSiteRoles));
|
||||
|
||||
service.updateNodePermissions('fake-node-id', fakeAuthorityResults).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(4);
|
||||
expect(node.permissions.locallySet[3].authorityId).not.toBe(fakeAuthorityResults[0].entry['cm:userName']);
|
||||
expect(node.permissions.locallySet[2].authorityId).not.toBe(fakeAuthorityResults[1].entry['cm:userName']);
|
||||
expect(node.permissions.locallySet[1].authorityId).not.toBe(fakeAuthorityResults[2].entry['cm:userName']);
|
||||
});
|
||||
}));
|
||||
|
||||
it('should be able to update locally permissions on the node', async(() => {
|
||||
const fakeNodeCopy = Object.assign(fakeNodeWithOnlyLocally);
|
||||
spyOn(nodeService, 'updateNode').and.callFake((nodeId, permissionBody) => returnUpdatedNode(nodeId, permissionBody));
|
||||
|
||||
service.updateLocallySetPermissions(fakeNodeCopy, fakeAuthorityResults, fakeSiteRoles).subscribe((node: MinimalNodeEntryEntity) => {
|
||||
expect(node).not.toBeNull();
|
||||
expect(node.id).toBe('fake-updated-node');
|
||||
expect(node.permissions.locallySet.length).toBe(4);
|
||||
expect(node.permissions.locallySet[3].authorityId).not.toBe(fakeAuthorityResults[0].entry['cm:userName']);
|
||||
expect(node.permissions.locallySet[2].authorityId).not.toBe(fakeAuthorityResults[1].entry['cm:userName']);
|
||||
expect(node.permissions.locallySet[1].authorityId).not.toBe(fakeAuthorityResults[2].entry['cm:userName']);
|
||||
});
|
||||
}));
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user