Files
Umbraco-CMS/tests/Umbraco.Tests.Common/Builders/TreeBuilder.cs

82 lines
1.9 KiB
C#
Raw Normal View History

// Copyright (c) Umbraco.
// See LICENSE for more details.
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.Trees;
using Umbraco.Cms.Tests.Common.Builders.Interfaces;
2020-12-02 19:50:56 +01:00
namespace Umbraco.Cms.Tests.Common.Builders;
public class TreeBuilder
: BuilderBase<Tree>,
IWithAliasBuilder,
IWithSortOrderBuilder
2020-12-02 19:50:56 +01: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
string IWithAliasBuilder.Alias
{
get => _alias;
set => _alias = value;
}
2020-12-02 19:50:56 +01:00
int? IWithSortOrderBuilder.SortOrder
{
get => _sortOrder;
set => _sortOrder = value;
}
2020-12-02 19:50:56 +01:00
public TreeBuilder WithSectionAlias(string sectionAlias)
{
_sectionAlias = sectionAlias;
return this;
}
2020-12-02 19:50:56 +01:00
public TreeBuilder WithGroup(string group)
{
_group = group;
return this;
}
2020-12-02 19:50:56 +01:00
public TreeBuilder WithTitle(string title)
{
_title = title;
return this;
}
2020-12-02 19:50:56 +01:00
public TreeBuilder WithTreeUse(TreeUse treeUse)
{
_treeUse = treeUse;
return this;
}
2020-12-02 19:50:56 +01:00
public TreeBuilder WithTreeUse(bool isSingleNode)
{
_isSingleNode = isSingleNode;
return this;
}
2020-12-02 19:50:56 +01: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
return new Tree(sortOrder, sectionAlias, group, alias, title, treeUse, typeof(SampleTreeController), isSingleNode);
}
2020-12-02 19:50:56 +01:00
private class SampleTreeController
{
2020-12-02 19:50:56 +01:00
}
}