diff --git a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts index 5a4bf07be..24736a4f8 100644 --- a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts +++ b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.spec.ts @@ -121,4 +121,19 @@ describe('FolderRuleSetsService', () => { expect(selectRuleSpy).toHaveBeenCalledWith(ruleMock('owned-rule-1')); }); + + it('should select a different rule when removing a rule', () => { + const selectRuleSpy = spyOn(folderRulesService, 'selectRule'); + folderRuleSetsService['mainRuleSet'] = JSON.parse(JSON.stringify(ownedRuleSetMock)); + folderRuleSetsService['inheritedRuleSets'] = JSON.parse(JSON.stringify([inheritedRuleSetMock])); + + folderRuleSetsService.removeRuleFromMainRuleSet('owned-rule-1-id'); + + expect(selectRuleSpy).toHaveBeenCalledWith(ruleMock('owned-rule-2')); + + selectRuleSpy.calls.reset(); + folderRuleSetsService.removeRuleFromMainRuleSet('owned-rule-2-id'); + + expect(selectRuleSpy).toHaveBeenCalledWith(ruleMock('inherited-rule-1')); + }); }); diff --git a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts index f390e4c67..7c6daacaa 100644 --- a/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts +++ b/projects/aca-folder-rules/src/lib/services/folder-rule-sets.service.ts @@ -210,6 +210,7 @@ export class FolderRuleSetsService { this.mainRuleSet = null; this.mainRuleSetSource.next(this.mainRuleSet); } + this.folderRulesService.selectRule(this.mainRuleSet?.rules[0] ?? this.inheritedRuleSets[0]?.rules[0] ?? null); } } }