// Copyright (c) Umbraco. // See LICENSE for more details. using System; using Moq; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Strings; namespace Umbraco.Cms.Tests.Common.Builders; public class DataValueEditorBuilder : ChildBuilderBase { private string _configuration; private bool? _hideLabel; private string _valueType; private string _view; public DataValueEditorBuilder(TParent parentBuilder) : base(parentBuilder) { } public DataValueEditorBuilder WithConfiguration(string configuration) { _configuration = configuration; return this; } public DataValueEditorBuilder WithView(string view) { _view = view; return this; } public DataValueEditorBuilder WithHideLabel(bool hideLabel) { _hideLabel = hideLabel; return this; } public DataValueEditorBuilder WithValueType(string valueType) { _valueType = valueType; return this; } public override IDataValueEditor Build() { var configuration = _configuration; var view = _view; var hideLabel = _hideLabel ?? false; var valueType = _valueType ?? Guid.NewGuid().ToString(); return new DataValueEditor( Mock.Of(), Mock.Of(), Mock.Of()) { Configuration = configuration, View = view, HideLabel = hideLabel, ValueType = valueType }; } }