Updated builders

This commit is contained in:
Bjarke Berg
2020-04-01 12:07:54 +02:00
parent 6012d6749e
commit 944042ad61
2 changed files with 43 additions and 10 deletions

View File

@@ -1,3 +1,4 @@
using Umbraco.Configuration.Models;
using Umbraco.Core.Models.Membership;
using Umbraco.Tests.Common.Builders.Interfaces;
@@ -25,18 +26,16 @@ namespace Umbraco.Tests.Common.Builders
private bool? _isLockedOut;
private string _email;
private string _username;
private string _defaultLang;
private string _suffix = string.Empty;
private GlobalSettingsBuilder<UserBuilder<TParent>> _globalSettingsBuilder;
private string _defaultLang;
public UserBuilder(TParent parentBuilder) : base(parentBuilder)
{
_globalSettingsBuilder = new GlobalSettingsBuilder<UserBuilder<TParent>>(this);
}
public GlobalSettingsBuilder<UserBuilder<TParent>> AddGlobalSettings() => _globalSettingsBuilder;
public UserBuilder<TParent> WithDefaultUILanguage(string defaultLang)
public UserBuilder<TParent> WithDefaultUILanguage(string defaultLang)
{
_defaultLang = defaultLang;
return this;
@@ -85,7 +84,7 @@ namespace Umbraco.Tests.Common.Builders
public override User Build()
{
var globalSettings = _globalSettingsBuilder.Build();
var globalSettings = new GlobalSettingsBuilder().WithDefaultUiLanguage(_defaultLang).Build();
var name = _name ?? "TestUser" + _suffix;
var email = _email ?? "test" + _suffix + "@test.com";
var username = _username ?? "TestUser" + _suffix;

View File

@@ -6,9 +6,20 @@ using Umbraco.Tests.Common.Builders.Interfaces;
namespace Umbraco.Tests.Common.Builders
{
public class UserGroupBuilder
: BuilderBase<IUserGroup>,
IWithIdBuilder
public class UserGroupBuilder : UserGroupBuilder<object>
{
public UserGroupBuilder() : base(null)
{
}
}
public class UserGroupBuilder<TParent>
: ChildBuilderBase<TParent, IUserGroup>,
IWithIdBuilder,
IWithIconBuilder,
IWithAliasBuilder,
IWithNameBuilder
{
private int? _startContentId;
private int? _startMediaId;
@@ -20,12 +31,16 @@ namespace Umbraco.Tests.Common.Builders
private string _suffix;
private int? _id;
public UserGroupBuilder(TParent parentBuilder) : base(parentBuilder)
{
}
/// <summary>
/// Will suffix the name and alias for testing
/// </summary>
/// <param name="suffix"></param>
/// <returns></returns>
public UserGroupBuilder WithSuffix(string suffix)
public UserGroupBuilder<TParent> WithSuffix(string suffix)
{
_suffix = suffix;
return this;
@@ -61,5 +76,24 @@ namespace Umbraco.Tests.Common.Builders
get => _id;
set => _id = value;
}
string IWithIconBuilder.Icon
{
get => _icon;
set => _icon = value;
}
string IWithAliasBuilder.Alias
{
get => _alias;
set => _alias = value;
}
string IWithNameBuilder.Name
{
get => _name;
set => _name = value;
}
}
}