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]
|
||||
};
|
||||
|
||||
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 validActionMock: RuleAction = {
|
||||
|
@@ -25,15 +25,21 @@
|
||||
import { ComponentFixture, TestBed } from '@angular/core/testing';
|
||||
import { CardViewBoolItemModel, CardViewComponent, CardViewSelectItemModel, CardViewTextItemModel, CoreTestingModule } from '@alfresco/adf-core';
|
||||
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 { dummyCategoriesConstraints, dummyConstraints, dummyTagsConstraints } from '../../mock/action-parameter-constraints.mock';
|
||||
import { securityMarksResponseMock, updateNotificationMock } from '../../mock/security-marks.mock';
|
||||
import { CategoryService, TagService } from '@alfresco/adf-content-services';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { CategoryService, NodeAction, TagService } from '@alfresco/adf-content-services';
|
||||
import { MatDialog, MatDialogRef } from '@angular/material/dialog';
|
||||
import { HarnessLoader } from '@angular/cdk/testing';
|
||||
import { TestbedHarnessEnvironment } from '@angular/cdk/testing/testbed';
|
||||
import { MatSelectHarness } from '@angular/material/select/testing';
|
||||
import { of, Subject } from 'rxjs';
|
||||
|
||||
describe('RuleActionUiComponent', () => {
|
||||
let fixture: ComponentFixture<RuleActionUiComponent>;
|
||||
@@ -144,6 +150,27 @@ describe('RuleActionUiComponent', () => {
|
||||
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', () => {
|
||||
beforeEach(() => {
|
||||
component.actionDefinitions = actionsTransformedListMock;
|
||||
|
@@ -283,6 +283,7 @@ export class RuleActionUiComponent implements ControlValueAccessor, OnInit, OnCh
|
||||
|
||||
private openSelectorDialog(paramDefName) {
|
||||
const data: ContentNodeSelectorComponentData = {
|
||||
selectionMode: 'single',
|
||||
title: this.translate.instant('ACA_FOLDER_RULES.RULE_DETAILS.PLACEHOLDER.CHOOSE_FOLDER'),
|
||||
actionName: NodeAction.CHOOSE,
|
||||
currentFolderId: this.nodeId,
|
||||
|
Reference in New Issue
Block a user