2020-12-05 11:12:55 +01:00
|
|
|
// Copyright (c) Umbraco.
|
|
|
|
|
// See LICENSE for more details.
|
|
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
using Umbraco.Cms.Core;
|
2021-02-18 11:06:02 +01:00
|
|
|
using Umbraco.Cms.Core.Trees;
|
|
|
|
|
using Umbraco.Cms.Tests.Common.Builders.Interfaces;
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
namespace Umbraco.Cms.Tests.Common.Builders;
|
|
|
|
|
|
|
|
|
|
public class TreeBuilder
|
|
|
|
|
: BuilderBase<Tree>,
|
|
|
|
|
IWithAliasBuilder,
|
|
|
|
|
IWithSortOrderBuilder
|
2020-12-02 19:50:56 +01:00
|
|
|
{
|
2022-06-21 08:09:38 +02:00
|
|
|
private string _alias;
|
|
|
|
|
private string _group;
|
|
|
|
|
private bool? _isSingleNode;
|
|
|
|
|
private string _sectionAlias;
|
|
|
|
|
private int? _sortOrder;
|
|
|
|
|
private string _title;
|
|
|
|
|
private TreeUse? _treeUse;
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
string IWithAliasBuilder.Alias
|
|
|
|
|
{
|
|
|
|
|
get => _alias;
|
|
|
|
|
set => _alias = value;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
int? IWithSortOrderBuilder.SortOrder
|
|
|
|
|
{
|
|
|
|
|
get => _sortOrder;
|
|
|
|
|
set => _sortOrder = value;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public TreeBuilder WithSectionAlias(string sectionAlias)
|
|
|
|
|
{
|
|
|
|
|
_sectionAlias = sectionAlias;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public TreeBuilder WithGroup(string group)
|
|
|
|
|
{
|
|
|
|
|
_group = group;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public TreeBuilder WithTitle(string title)
|
|
|
|
|
{
|
|
|
|
|
_title = title;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public TreeBuilder WithTreeUse(TreeUse treeUse)
|
|
|
|
|
{
|
|
|
|
|
_treeUse = treeUse;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public TreeBuilder WithTreeUse(bool isSingleNode)
|
|
|
|
|
{
|
|
|
|
|
_isSingleNode = isSingleNode;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
public override Tree Build()
|
|
|
|
|
{
|
|
|
|
|
var sortOrder = _sortOrder ?? 1;
|
|
|
|
|
var alias = _alias ?? "testTree";
|
|
|
|
|
var sectionAlias = _sectionAlias ?? Constants.Applications.Content;
|
|
|
|
|
var group = _group ?? string.Empty;
|
|
|
|
|
var title = _title ?? string.Empty;
|
|
|
|
|
var treeUse = _treeUse ?? TreeUse.Main;
|
|
|
|
|
var isSingleNode = _isSingleNode ?? false;
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
return new Tree(sortOrder, sectionAlias, group, alias, title, treeUse, typeof(SampleTreeController), isSingleNode);
|
|
|
|
|
}
|
2020-12-02 19:50:56 +01:00
|
|
|
|
2022-06-21 08:09:38 +02:00
|
|
|
private class SampleTreeController
|
|
|
|
|
{
|
2020-12-02 19:50:56 +01:00
|
|
|
}
|
|
|
|
|
}
|