mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-24 17:31:52 +00:00
[ACS-8190] change node selection to single for rule actions (#3888)
This commit is contained in:
committed by
GitHub
parent
a6c929a958
commit
e55dd6b9ed
@@ -202,6 +202,16 @@ export const securityActionTransformedMock: ActionDefinitionTransformed = {
|
|||||||
parameterDefinitions: [actionParamSecurityGroup, actionParamSecurityMark]
|
parameterDefinitions: [actionParamSecurityGroup, actionParamSecurityMark]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const actionNodeTransformedMock: ActionDefinitionTransformed = {
|
||||||
|
id: 'mock-action-5-definition',
|
||||||
|
name: 'mock-action-5-definition',
|
||||||
|
description: '',
|
||||||
|
title: 'mock-action-5-definition',
|
||||||
|
applicableTypes: [],
|
||||||
|
trackStatus: false,
|
||||||
|
parameterDefinitions: [actionParam5TransformedMock]
|
||||||
|
};
|
||||||
|
|
||||||
export const actionsTransformedListMock: ActionDefinitionTransformed[] = [action1TransformedMock, action2TransformedMock];
|
export const actionsTransformedListMock: ActionDefinitionTransformed[] = [action1TransformedMock, action2TransformedMock];
|
||||||
|
|
||||||
export const validActionMock: RuleAction = {
|
export const validActionMock: RuleAction = {
|
||||||
|
@@ -25,15 +25,21 @@
|
|||||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
import { CardViewBoolItemModel, CardViewComponent, CardViewSelectItemModel, CardViewTextItemModel, CoreTestingModule } from '@alfresco/adf-core';
|
import { CardViewBoolItemModel, CardViewComponent, CardViewSelectItemModel, CardViewTextItemModel, CoreTestingModule } from '@alfresco/adf-core';
|
||||||
import { RuleActionUiComponent } from './rule-action.ui-component';
|
import { RuleActionUiComponent } from './rule-action.ui-component';
|
||||||
import { actionLinkToCategoryTransformedMock, actionsTransformedListMock, securityActionTransformedMock } from '../../mock/actions.mock';
|
import {
|
||||||
|
actionLinkToCategoryTransformedMock,
|
||||||
|
actionNodeTransformedMock,
|
||||||
|
actionsTransformedListMock,
|
||||||
|
securityActionTransformedMock
|
||||||
|
} from '../../mock/actions.mock';
|
||||||
import { By } from '@angular/platform-browser';
|
import { By } from '@angular/platform-browser';
|
||||||
import { dummyCategoriesConstraints, dummyConstraints, dummyTagsConstraints } from '../../mock/action-parameter-constraints.mock';
|
import { dummyCategoriesConstraints, dummyConstraints, dummyTagsConstraints } from '../../mock/action-parameter-constraints.mock';
|
||||||
import { securityMarksResponseMock, updateNotificationMock } from '../../mock/security-marks.mock';
|
import { securityMarksResponseMock, updateNotificationMock } from '../../mock/security-marks.mock';
|
||||||
import { CategoryService, TagService } from '@alfresco/adf-content-services';
|
import { CategoryService, NodeAction, TagService } from '@alfresco/adf-content-services';
|
||||||
import { MatDialog } from '@angular/material/dialog';
|
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { HarnessLoader } from '@angular/cdk/testing';
|
import { HarnessLoader } from '@angular/cdk/testing';
|
||||||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
||||||
import { MatSelectHarness } from '@angular/material/select/testing';
|
import { MatSelectHarness } from '@angular/material/select/testing';
|
||||||
|
import { of, Subject } from 'rxjs';
|
||||||
|
|
||||||
describe('RuleActionUiComponent', () => {
|
describe('RuleActionUiComponent', () => {
|
||||||
let fixture: ComponentFixture<RuleActionUiComponent>;
|
let fixture: ComponentFixture<RuleActionUiComponent>;
|
||||||
@@ -144,6 +150,27 @@ describe('RuleActionUiComponent', () => {
|
|||||||
expect(dialog.open['calls'].argsFor(0)[0].name).toBe('CategorySelectorDialogComponent');
|
expect(dialog.open['calls'].argsFor(0)[0].name).toBe('CategorySelectorDialogComponent');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should open node selector dialog with correct parameters', async () => {
|
||||||
|
const dialog = fixture.debugElement.injector.get(MatDialog);
|
||||||
|
component.actionDefinitions = [actionNodeTransformedMock];
|
||||||
|
const expectedData = {
|
||||||
|
selectionMode: 'single',
|
||||||
|
title: 'ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.CHOOSE_FOLDER',
|
||||||
|
actionName: NodeAction.CHOOSE,
|
||||||
|
currentFolderId: component.nodeId,
|
||||||
|
select: jasmine.any(Subject)
|
||||||
|
};
|
||||||
|
const dialogSpy = spyOn(dialog, 'open').and.returnValue({ afterClosed: () => of({}) } as MatDialogRef<any>);
|
||||||
|
fixture.detectChanges();
|
||||||
|
|
||||||
|
await changeMatSelectValue('mock-action-5-definition');
|
||||||
|
fixture.debugElement.query(By.css('.adf-textitem-action')).nativeElement.click();
|
||||||
|
|
||||||
|
expect(dialog.open).toHaveBeenCalledTimes(1);
|
||||||
|
expect(dialogSpy.calls.mostRecent().args[1].data).toEqual(expectedData);
|
||||||
|
expect(dialog.open['calls'].argsFor(0)[0].name).toBe('ContentNodeSelectorComponent');
|
||||||
|
});
|
||||||
|
|
||||||
describe('Select options', () => {
|
describe('Select options', () => {
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
component.actionDefinitions = actionsTransformedListMock;
|
component.actionDefinitions = actionsTransformedListMock;
|
||||||
|
@@ -283,6 +283,7 @@ export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnCh
|
|||||||
|
|
||||||
private openSelectorDialog(paramDefName) {
|
private openSelectorDialog(paramDefName) {
|
||||||
const data: ContentNodeSelectorComponentData = {
|
const data: ContentNodeSelectorComponentData = {
|
||||||
|
selectionMode: 'single',
|
||||||
title: this.translate.instant('ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.CHOOSE_FOLDER'),
|
title: this.translate.instant('ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.CHOOSE_FOLDER'),
|
||||||
actionName: NodeAction.CHOOSE,
|
actionName: NodeAction.CHOOSE,
|
||||||
currentFolderId: this.nodeId,
|
currentFolderId: this.nodeId,
|
||||||
|
Reference in New Issue
Block a user