mirror of
https://github.com/Alfresco/alfresco-content-app.git
synced 2025-07-31 17:38:28 +00:00
[ACS-5503] Folder rules rule update with correct error message when definition is invalid (#4610)
* [ACS-5503] Folder rules rule update with correct error message when definition is invalid * [ACS-5503] Sonarlint fixes * [ACS-5503] CR fixes
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
import { CoreTestingModule } from '@alfresco/adf-core';
|
||||
import { CoreTestingModule, NotificationService } from '@alfresco/adf-core';
|
||||
import { of } from 'rxjs';
|
||||
import { FolderRulesService } from './folder-rules.service';
|
||||
import {
|
||||
@@ -42,6 +42,7 @@ import { AlfrescoApiService, AlfrescoApiServiceMock } from '@alfresco/adf-conten
|
||||
|
||||
describe('FolderRulesService', () => {
|
||||
let folderRulesService: FolderRulesService;
|
||||
let notificationService: NotificationService;
|
||||
|
||||
let callApiSpy: jasmine.Spy;
|
||||
|
||||
@@ -60,7 +61,8 @@ describe('FolderRulesService', () => {
|
||||
providers: [FolderRulesService, { provide: AlfrescoApiService, useClass: AlfrescoApiServiceMock }]
|
||||
});
|
||||
|
||||
folderRulesService = TestBed.inject<FolderRulesService>(FolderRulesService);
|
||||
folderRulesService = TestBed.inject(FolderRulesService);
|
||||
notificationService = TestBed.inject(NotificationService);
|
||||
|
||||
callApiSpy = spyOn<any>(folderRulesService, 'callApi');
|
||||
});
|
||||
@@ -148,6 +150,17 @@ describe('FolderRulesService', () => {
|
||||
expect(result).toEqual(mockedRule);
|
||||
});
|
||||
|
||||
it('should display error message and revert enabled state when updating rule fails', async () => {
|
||||
callApiSpy
|
||||
.withArgs(`/nodes/${nodeId}/rule-sets/${ruleSetId}/rules/${ruleId}`, 'PUT', mockedRule)
|
||||
.and.returnValue(Promise.reject(new Error(JSON.stringify({ error: { briefSummary: 'Error updating rule' } }))));
|
||||
spyOn(notificationService, 'showError');
|
||||
|
||||
const result = await folderRulesService.updateRule(nodeId, ruleId, mockedRule, ruleSetId);
|
||||
expect(notificationService.showError).toHaveBeenCalledWith('Error updating rule');
|
||||
expect(result.isEnabled).toBe(false);
|
||||
});
|
||||
|
||||
it('should send correct GET request and return rule settings', async () => {
|
||||
callApiSpy.withArgs(`/nodes/${nodeId}/rule-settings/${key}`, 'GET').and.returnValue(Promise.resolve(mockedRuleSettingsEntry));
|
||||
|
||||
|
Reference in New Issue
Block a user