Fix for ALF-11923. Linked rules can't be deleted if source folder was deleted.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@35737 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Neil McErlean
2012-04-25 22:03:48 +00:00
parent d0fdeafa2c
commit 25d5daf40b
2 changed files with 80 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
* Copyright (C) 2005-2012 Alfresco Software Limited.
*
* This file is part of Alfresco
*
@@ -259,6 +259,43 @@ public class RuleLinkTest extends BaseSpringTest
assertEquals(2, rules.size());
}
/**
* ALF-11923
* @since Odin
* @author Neil Mc Erlean.
*/
public void testDeleteFolderWithRulesLinkedTo()
{
// Setup test data
Rule rule = createTestRule(false, "luke");
this.ruleService.saveRule(folderOne, rule);
link(folderOne, folderTwo);
link(folderOne, folderThree);
List<Rule> rules1 = ruleService.getRules(folderOne);
assertNotNull(rules1);
assertFalse(rules1.isEmpty());
assertEquals(1, rules1.size());
List<Rule> rules2 = ruleService.getRules(folderTwo);
assertEquals(rules1, rules2);
List<Rule> rules3 = ruleService.getRules(folderThree);
assertEquals(rules1, rules3);
// Now delete folder 1.
nodeService.deleteNode(folderOne);
rules2 = ruleService.getRules(folderTwo);
rules3 = ruleService.getRules(folderThree);
assertTrue(rules2.isEmpty());
assertFalse(nodeService.hasAspect(folderTwo, RuleModel.ASPECT_RULES));
assertTrue(rules3.isEmpty());
assertFalse(nodeService.hasAspect(folderThree, RuleModel.ASPECT_RULES));
}
protected Rule createTestRule(boolean isAppliedToChildren, String title)
{
// Rule properties