Files
Umbraco-CMS/tests/Umbraco.Tests.Common/Builders/DocumentEntitySlimBuilder.cs
Kenn Jacobsen acae5f2d57 Remove "additional data" from entities (#16024)
* Remove "additional data" from entities

* Fix merge issue

---------

Co-authored-by: Bjarke Berg <mail@bergmania.dk>
2024-04-11 10:55:21 +02:00

169 lines
4.1 KiB
C#

// Copyright (c) Umbraco.
// See LICENSE for more details.
using Umbraco.Cms.Core.Models.Entities;
using Umbraco.Cms.Tests.Common.Builders.Interfaces;
namespace Umbraco.Cms.Tests.Common.Builders;
public class DocumentEntitySlimBuilder
: BuilderBase<DocumentEntitySlim>,
IWithIdBuilder,
IWithKeyBuilder,
IWithCreatorIdBuilder,
IWithCreateDateBuilder,
IWithUpdateDateBuilder,
IWithNameBuilder,
IWithLevelBuilder,
IWithPathBuilder,
IWithSortOrderBuilder,
IWithParentIdBuilder
{
private string _contentTypeAlias;
private string _contentTypeIcon;
private string _contentTypeThumbnail;
private DateTime? _createDate;
private int? _creatorId;
private bool? _hasChildren;
private int? _id;
private Guid? _key;
private int? _level;
private string _name;
private int? _parentId;
private string _path;
private bool? _published;
private int? _sortOrder;
private DateTime? _updateDate;
DateTime? IWithCreateDateBuilder.CreateDate
{
get => _createDate;
set => _createDate = value;
}
int? IWithCreatorIdBuilder.CreatorId
{
get => _creatorId;
set => _creatorId = value;
}
int? IWithIdBuilder.Id
{
get => _id;
set => _id = value;
}
Guid? IWithKeyBuilder.Key
{
get => _key;
set => _key = value;
}
int? IWithLevelBuilder.Level
{
get => _level;
set => _level = value;
}
string IWithNameBuilder.Name
{
get => _name;
set => _name = value;
}
int? IWithParentIdBuilder.ParentId
{
get => _parentId;
set => _parentId = value;
}
string IWithPathBuilder.Path
{
get => _path;
set => _path = value;
}
int? IWithSortOrderBuilder.SortOrder
{
get => _sortOrder;
set => _sortOrder = value;
}
DateTime? IWithUpdateDateBuilder.UpdateDate
{
get => _updateDate;
set => _updateDate = value;
}
public DocumentEntitySlimBuilder WithHasChildren(bool hasChildren)
{
_hasChildren = hasChildren;
return this;
}
public DocumentEntitySlimBuilder WithPublished(bool published)
{
_published = published;
return this;
}
public DocumentEntitySlimBuilder WithContentTypeAlias(string contentTypeAlias)
{
_contentTypeAlias = contentTypeAlias;
return this;
}
public DocumentEntitySlimBuilder WithContentTypeIcon(string contentTypeIcon)
{
_contentTypeIcon = contentTypeIcon;
return this;
}
public DocumentEntitySlimBuilder WithContentTypeThumbnail(string contentTypeThumbnail)
{
_contentTypeThumbnail = contentTypeThumbnail;
return this;
}
public override DocumentEntitySlim Build()
{
var id = _id ?? 1;
var key = _key ?? Guid.NewGuid();
var createDate = _createDate ?? DateTime.Now;
var updateDate = _updateDate ?? DateTime.Now;
var name = _name ?? Guid.NewGuid().ToString();
var creatorId = _creatorId ?? 1;
var level = _level ?? 1;
var path = _path ?? $"-1,{id}";
var sortOrder = _sortOrder ?? 0;
var parentId = _parentId ?? -1;
var icon = _contentTypeIcon ?? string.Empty;
var thumbnail = _contentTypeThumbnail ?? string.Empty;
var contentTypeAlias = _contentTypeAlias ?? string.Empty;
var hasChildren = _hasChildren ?? false;
var published = _published ?? false;
var documentEntitySlim = new DocumentEntitySlim
{
Id = id,
Key = key,
CreateDate = createDate,
UpdateDate = updateDate,
Name = name,
CreatorId = creatorId,
Level = level,
Path = path,
SortOrder = sortOrder,
ParentId = parentId,
ContentTypeIcon = icon,
ContentTypeThumbnail = thumbnail,
ContentTypeAlias = contentTypeAlias,
HasChildren = hasChildren,
Published = published
};
return documentEntitySlim;
}
}