2020-01-13 07:29:12 +01:00
|
|
|
using System.Collections.Generic;
|
2020-09-18 14:37:19 +02:00
|
|
|
using Microsoft.Extensions.Logging.Abstractions;
|
2020-01-09 15:32:19 +01:00
|
|
|
using Moq;
|
|
|
|
|
using Umbraco.Core.Logging;
|
|
|
|
|
using Umbraco.Core.PropertyEditors;
|
|
|
|
|
using Umbraco.Core.Services;
|
|
|
|
|
using Umbraco.Core.Strings;
|
|
|
|
|
|
2020-03-18 07:42:35 +01:00
|
|
|
namespace Umbraco.Tests.Common.Builders
|
2020-01-09 15:32:19 +01:00
|
|
|
{
|
|
|
|
|
public class DataEditorBuilder<TParent> : ChildBuilderBase<TParent, IDataEditor>
|
|
|
|
|
{
|
2020-04-12 09:47:44 +02:00
|
|
|
private ConfigurationEditorBuilder<DataEditorBuilder<TParent>> _explicitConfigurationEditorBuilder;
|
|
|
|
|
private DataValueEditorBuilder<DataEditorBuilder<TParent>> _explicitValueEditorBuilder;
|
2020-01-13 07:29:12 +01:00
|
|
|
private IDictionary<string, object> _defaultConfiguration;
|
|
|
|
|
|
2020-01-09 15:32:19 +01:00
|
|
|
public DataEditorBuilder(TParent parentBuilder) : base(parentBuilder)
|
|
|
|
|
{
|
2020-01-13 07:29:12 +01:00
|
|
|
_explicitConfigurationEditorBuilder = new ConfigurationEditorBuilder<DataEditorBuilder<TParent>>(this);
|
|
|
|
|
_explicitValueEditorBuilder = new DataValueEditorBuilder<DataEditorBuilder<TParent>>(this);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public DataEditorBuilder<TParent> WithDefaultConfiguration(IDictionary<string, object> defaultConfiguration)
|
|
|
|
|
{
|
|
|
|
|
_defaultConfiguration = defaultConfiguration;
|
|
|
|
|
return this;
|
2020-01-09 15:32:19 +01:00
|
|
|
}
|
|
|
|
|
|
2020-01-13 07:29:12 +01:00
|
|
|
public ConfigurationEditorBuilder<DataEditorBuilder<TParent>> AddExplicitConfigurationEditorBuilder() =>
|
|
|
|
|
_explicitConfigurationEditorBuilder;
|
|
|
|
|
|
|
|
|
|
public DataValueEditorBuilder<DataEditorBuilder<TParent>> AddExplicitValueEditorBuilder() =>
|
|
|
|
|
_explicitValueEditorBuilder;
|
|
|
|
|
|
2020-01-09 15:32:19 +01:00
|
|
|
public override IDataEditor Build()
|
|
|
|
|
{
|
2020-01-13 07:29:12 +01:00
|
|
|
var defaultConfiguration = _defaultConfiguration ?? new Dictionary<string, object>();
|
|
|
|
|
var explicitConfigurationEditor = _explicitConfigurationEditorBuilder.Build();
|
|
|
|
|
var explicitValueEditor = _explicitValueEditorBuilder.Build();
|
|
|
|
|
|
|
|
|
|
return new DataEditor(
|
2020-09-18 14:37:19 +02:00
|
|
|
NullLoggerFactory.Instance,
|
2020-01-09 15:32:19 +01:00
|
|
|
Mock.Of<IDataTypeService>(),
|
|
|
|
|
Mock.Of<ILocalizationService>(),
|
|
|
|
|
Mock.Of<ILocalizedTextService>(),
|
|
|
|
|
Mock.Of<IShortStringHelper>()
|
2020-01-13 07:29:12 +01:00
|
|
|
)
|
|
|
|
|
{
|
|
|
|
|
DefaultConfiguration = defaultConfiguration,
|
|
|
|
|
ExplicitConfigurationEditor = explicitConfigurationEditor,
|
|
|
|
|
ExplicitValueEditor = explicitValueEditor
|
|
|
|
|
};
|
2020-01-09 15:32:19 +01:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|