Ability to remove trees in the backoffice
This commit is contained in:
committed by
Sebastiaan Janssen
parent
d22297270b
commit
04f53b7e88
@@ -0,0 +1,36 @@
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using Umbraco.Cms.Core.Trees;
|
||||
using Umbraco.Cms.Web.BackOffice.Trees;
|
||||
|
||||
namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Web.BackOffice.CollectionBuilders
|
||||
{
|
||||
public class TreeCollectionBuilderTests
|
||||
{
|
||||
[Test]
|
||||
public void Adding_Tree_To_Collection_Builder()
|
||||
{
|
||||
var collectionBuilder = new TreeCollectionBuilder();
|
||||
var treeDefinition = new Tree(0, "test", "test", "test", "test", TreeUse.Main, typeof(LanguageTreeController), false);
|
||||
|
||||
collectionBuilder.AddTree(treeDefinition);
|
||||
var collection = collectionBuilder.CreateCollection(null);
|
||||
|
||||
Assert.AreEqual(1, collection.Count);
|
||||
Assert.AreEqual(treeDefinition, collection.FirstOrDefault());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Remove_Tree_From_Collection_Builder()
|
||||
{
|
||||
var collectionBuilder = new TreeCollectionBuilder();
|
||||
var treeDefinition = new Tree(0, "test", "test", "test", "test", TreeUse.Main, typeof(LanguageTreeController), false);
|
||||
|
||||
collectionBuilder.AddTree(treeDefinition);
|
||||
collectionBuilder.RemoveTreeController<LanguageTreeController>();
|
||||
var collection = collectionBuilder.CreateCollection(null);
|
||||
|
||||
Assert.AreEqual(0, collection.Count);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Umbraco.Cms.Core.Composing;
|
||||
using Umbraco.Cms.Core.Trees;
|
||||
@@ -56,5 +57,16 @@ namespace Umbraco.Cms.Web.BackOffice.Trees
|
||||
foreach (var controllerType in controllerTypes)
|
||||
AddTreeController(controllerType);
|
||||
}
|
||||
|
||||
public void RemoveTreeController<T>() => RemoveTreeController(typeof(T));
|
||||
|
||||
public void RemoveTreeController(Type type)
|
||||
{
|
||||
var tree = _trees.FirstOrDefault(it => it.TreeControllerType == type);
|
||||
if (tree != null)
|
||||
{
|
||||
_trees.Remove(tree);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user