Aligned builders
This commit is contained in:
@@ -12,7 +12,7 @@ namespace Umbraco.Configuration.Models
|
||||
/// </summary>
|
||||
internal class GlobalSettings : IGlobalSettings
|
||||
{
|
||||
public const string Prefix = Constants.Configuration.ConfigPrefix + "Global:";
|
||||
private const string Prefix = Constants.Configuration.ConfigGlobalPrefix;
|
||||
|
||||
internal const string
|
||||
StaticReservedPaths = "~/app_plugins/,~/install/,~/mini-profiler-resources/,"; //must end with a comma!
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
/// </remarks>
|
||||
public const string ConfigPrefix = "Umbraco:CMS:";
|
||||
public const string ConfigSecurityPrefix = ConfigPrefix+"Security:";
|
||||
public const string ConfigGlobalPrefix = ConfigPrefix + "Global:";
|
||||
public const string ConfigModelsBuilderPrefix = ConfigPrefix+"ModelsBuilder:";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Umbraco.Tests.Common.Builders.Interfaces
|
||||
{
|
||||
public interface IWithApprovedBuilder
|
||||
{
|
||||
bool? Approved { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,21 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using Moq;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Configuration;
|
||||
using Umbraco.Core.Models.Membership;
|
||||
using Umbraco.Tests.Common.Builders.Interfaces;
|
||||
|
||||
namespace Umbraco.Tests.Common.Builders
|
||||
{
|
||||
public class UserBuilder
|
||||
: BuilderBase<User>,
|
||||
IWithIdBuilder
|
||||
|
||||
public class UserBuilder : UserBuilder<object>
|
||||
{
|
||||
public UserBuilder() : base(null)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class UserBuilder<TParent>
|
||||
: ChildBuilderBase<TParent, User>,
|
||||
IWithIdBuilder,
|
||||
IWithNameBuilder,
|
||||
IWithApprovedBuilder
|
||||
{
|
||||
private int? _id;
|
||||
private string _language;
|
||||
@@ -22,61 +27,57 @@ namespace Umbraco.Tests.Common.Builders
|
||||
private string _username;
|
||||
private string _defaultLang;
|
||||
private string _suffix = string.Empty;
|
||||
private GlobalSettingsBuilder<UserBuilder<TParent>> _globalSettingsBuilder;
|
||||
|
||||
public UserBuilder WithDefaultUILanguage(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)
|
||||
{
|
||||
_defaultLang = defaultLang;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithLanguage(string language)
|
||||
public UserBuilder<TParent> WithLanguage(string language)
|
||||
{
|
||||
_language = language;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithApproved(bool approved)
|
||||
{
|
||||
_approved = approved;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithRawPassword(string rawPassword)
|
||||
public UserBuilder<TParent> WithRawPassword(string rawPassword)
|
||||
{
|
||||
_rawPassword = rawPassword;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithEmail(string email)
|
||||
public UserBuilder<TParent> WithEmail(string email)
|
||||
{
|
||||
_email = email;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithUsername(string username)
|
||||
public UserBuilder<TParent> WithUsername(string username)
|
||||
{
|
||||
_username = username;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithLockedOut(bool isLockedOut)
|
||||
public UserBuilder<TParent> WithLockedOut(bool isLockedOut)
|
||||
{
|
||||
_isLockedOut = isLockedOut;
|
||||
return this;
|
||||
}
|
||||
|
||||
public UserBuilder WithName(string name)
|
||||
{
|
||||
_name = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Will suffix the name, email and username for testing
|
||||
/// </summary>
|
||||
/// <param name="suffix"></param>
|
||||
/// <returns></returns>
|
||||
public UserBuilder WithSuffix(string suffix)
|
||||
public UserBuilder<TParent> WithSuffix(string suffix)
|
||||
{
|
||||
_suffix = suffix;
|
||||
return this;
|
||||
@@ -84,16 +85,25 @@ namespace Umbraco.Tests.Common.Builders
|
||||
|
||||
public override User Build()
|
||||
{
|
||||
var globalSettings = Mock.Of<IGlobalSettings>(x => x.DefaultUILanguage == (_defaultLang ?? "en-US"));
|
||||
return new User(globalSettings,
|
||||
_name ?? "TestUser" + _suffix,
|
||||
_email ?? "test" + _suffix + "@test.com",
|
||||
_username ?? "TestUser" + _suffix,
|
||||
_rawPassword ?? "abcdefghijklmnopqrstuvwxyz")
|
||||
var globalSettings = _globalSettingsBuilder.Build();
|
||||
var name = _name ?? "TestUser" + _suffix;
|
||||
var email = _email ?? "test" + _suffix + "@test.com";
|
||||
var username = _username ?? "TestUser" + _suffix;
|
||||
var rawPassword = _rawPassword ?? "abcdefghijklmnopqrstuvwxyz";
|
||||
var language = _language ?? globalSettings.DefaultUILanguage;
|
||||
var isLockedOut = _isLockedOut ?? false;
|
||||
var approved = _approved ?? true;
|
||||
|
||||
return new User(
|
||||
globalSettings,
|
||||
name,
|
||||
email,
|
||||
username,
|
||||
rawPassword)
|
||||
{
|
||||
Language = _language ?? _defaultLang ?? "en-US",
|
||||
IsLockedOut = _isLockedOut ?? false,
|
||||
IsApproved = _approved ?? true
|
||||
Language = language,
|
||||
IsLockedOut = isLockedOut,
|
||||
IsApproved = approved
|
||||
};
|
||||
}
|
||||
|
||||
@@ -102,5 +112,17 @@ namespace Umbraco.Tests.Common.Builders
|
||||
get => _id;
|
||||
set => _id = value;
|
||||
}
|
||||
|
||||
string IWithNameBuilder.Name
|
||||
{
|
||||
get => _name;
|
||||
set => _name = value;
|
||||
}
|
||||
|
||||
bool? IWithApprovedBuilder.Approved
|
||||
{
|
||||
get => _approved;
|
||||
set => _approved = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace Umbraco.Tests.Integration.Extensions
|
||||
// dynamically change the config status
|
||||
var umbVersion = app.ApplicationServices.GetRequiredService<IUmbracoVersion>();
|
||||
var config = app.ApplicationServices.GetRequiredService<IConfiguration>();
|
||||
config[GlobalSettings.Prefix + "ConfigurationStatus"] = umbVersion.SemanticVersion.ToString();
|
||||
config[Constants.Configuration.ConfigGlobalPrefix + "ConfigurationStatus"] = umbVersion.SemanticVersion.ToString();
|
||||
|
||||
// re-run the runtime level check
|
||||
var profilingLogger = app.ApplicationServices.GetRequiredService<IProfilingLogger>();
|
||||
|
||||
@@ -155,8 +155,6 @@ namespace Umbraco.Web.Common.Extensions
|
||||
|
||||
backOfficeInfo = new AspNetCoreBackOfficeInfo(globalSettings);
|
||||
profiler = GetWebProfiler(hostingEnvironment, httpContextAccessor);
|
||||
|
||||
Current.Initialize(logger, configs, ioHelper, hostingEnvironment, backOfficeInfo, profiler);
|
||||
}
|
||||
|
||||
private static IProfiler GetWebProfiler(Umbraco.Core.Hosting.IHostingEnvironment hostingEnvironment, IHttpContextAccessor httpContextAccessor)
|
||||
|
||||
Reference in New Issue
Block a user