https://github.com/umbraco/Umbraco-CMS/pull/8948 - Injecting UploadAutoFillProperties instead of newing it up

Signed-off-by: Bjarke Berg <mail@bergmania.dk>
This commit is contained in:
Bjarke Berg
2020-09-22 21:19:41 +02:00
parent 87a4128705
commit e9597c0f3f
6 changed files with 15 additions and 11 deletions

View File

@@ -39,7 +39,7 @@ namespace Umbraco.Web.PropertyEditors
ILocalizationService localizationService,
ILocalizedTextService localizedTextService,
IShortStringHelper shortStringHelper,
IImageUrlGenerator imageUrlGenerator)
UploadAutoFillProperties uploadAutoFillProperties)
: base(logger, dataTypeService, localizationService, localizedTextService, shortStringHelper)
{
_mediaFileSystem = mediaFileSystem ?? throw new ArgumentNullException(nameof(mediaFileSystem));
@@ -47,7 +47,7 @@ namespace Umbraco.Web.PropertyEditors
_dataTypeService = dataTypeService;
_localizationService = localizationService;
_localizedTextService = localizedTextService;
_uploadAutoFillProperties = new UploadAutoFillProperties(_mediaFileSystem, logger, imageUrlGenerator);
_uploadAutoFillProperties = uploadAutoFillProperties;
}
/// <summary>

View File

@@ -49,16 +49,14 @@ namespace Umbraco.Web.PropertyEditors
IIOHelper ioHelper,
IShortStringHelper shortStringHelper,
ILocalizedTextService localizedTextService,
IImageUrlGenerator imageUrlGenerator)
UploadAutoFillProperties uploadAutoFillProperties)
: base(logger, dataTypeService, localizationService, localizedTextService, shortStringHelper)
{
_mediaFileSystem = mediaFileSystem ?? throw new ArgumentNullException(nameof(mediaFileSystem));
_contentSettings = contentSettings.Value ?? throw new ArgumentNullException(nameof(contentSettings));
_dataTypeService = dataTypeService;
_ioHelper = ioHelper;
// TODO: inject?
_autoFillProperties = new UploadAutoFillProperties(_mediaFileSystem, logger, imageUrlGenerator);
_dataTypeService = dataTypeService ?? throw new ArgumentNullException(nameof(dataTypeService));
_ioHelper = ioHelper ?? throw new ArgumentNullException(nameof(ioHelper));
_autoFillProperties = uploadAutoFillProperties ?? throw new ArgumentNullException(nameof(uploadAutoFillProperties));
}
public bool TryGetMediaPath(string alias, object value, out string mediaPath)

View File

@@ -57,6 +57,7 @@ using IntegerValidator = Umbraco.Core.PropertyEditors.Validators.IntegerValidato
using TextStringValueConverter = Umbraco.Core.PropertyEditors.ValueConverters.TextStringValueConverter;
using Umbraco.Core.Configuration.Models;
using Microsoft.Extensions.Options;
using Umbraco.Web.Media;
namespace Umbraco.Core.Runtime
{
@@ -371,6 +372,8 @@ namespace Umbraco.Core.Runtime
// Register noop versions for examine to be overridden by examine
composition.RegisterUnique<IUmbracoIndexesCreator, NoopUmbracoIndexesCreator>();
composition.RegisterUnique<IBackOfficeExamineSearcher, NoopBackOfficeExamineSearcher>();
composition.RegisterUnique<UploadAutoFillProperties>();
}
}
}

View File

@@ -33,7 +33,7 @@ namespace Umbraco.Tests.Models
var contentSettings = new ContentSettings();
var mediaFileSystem = new MediaFileSystem(Mock.Of<IFileSystem>(), scheme, logger, ShortStringHelper);
var ignored = new FileUploadPropertyEditor(Mock.Of<ILogger>(), mediaFileSystem, Microsoft.Extensions.Options.Options.Create(contentSettings), DataTypeService, LocalizationService, LocalizedTextService, ShortStringHelper, ImageUrlGenerator);
var ignored = new FileUploadPropertyEditor(Mock.Of<ILogger>(), mediaFileSystem, Microsoft.Extensions.Options.Options.Create(contentSettings), DataTypeService, LocalizationService, LocalizedTextService, ShortStringHelper, UploadAutoFillProperties);
var media = MockedMedia.CreateMediaImage(mediaType, -1);
media.WriterId = -1; // else it's zero and that's not a user and it breaks the tests

View File

@@ -38,8 +38,8 @@ namespace Umbraco.Tests.Routing
var dataTypeService = Mock.Of<IDataTypeService>();
var propertyEditors = new MediaUrlGeneratorCollection(new IMediaUrlGenerator[]
{
new FileUploadPropertyEditor(logger, mediaFileSystemMock, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, LocalizationService, LocalizedTextService, ShortStringHelper, ImageUrlGenerator),
new ImageCropperPropertyEditor(logger, mediaFileSystemMock, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, LocalizationService, IOHelper, ShortStringHelper, LocalizedTextService, ImageUrlGenerator),
new FileUploadPropertyEditor(logger, mediaFileSystemMock, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, LocalizationService, LocalizedTextService, ShortStringHelper, UploadAutoFillProperties),
new ImageCropperPropertyEditor(logger, mediaFileSystemMock, Microsoft.Extensions.Options.Options.Create(contentSettings), dataTypeService, LocalizationService, IOHelper, ShortStringHelper, LocalizedTextService, UploadAutoFillProperties),
});
_mediaUrlProvider = new DefaultMediaUrlProvider(propertyEditors, UriUtility);
}

View File

@@ -49,6 +49,7 @@ using Umbraco.Web.AspNet;
using Umbraco.Web.ContentApps;
using Umbraco.Web.Hosting;
using Umbraco.Web.Install;
using Umbraco.Web.Media;
using Umbraco.Web.PropertyEditors;
using Umbraco.Web.PublishedCache;
using Umbraco.Web.Routing;
@@ -129,6 +130,7 @@ namespace Umbraco.Tests.Testing
protected ILocalizedTextService LocalizedTextService { get; private set; }
protected IShortStringHelper ShortStringHelper => Factory?.GetInstance<IShortStringHelper>() ?? TestHelper.ShortStringHelper;
protected IImageUrlGenerator ImageUrlGenerator => Factory.GetInstance<IImageUrlGenerator>();
protected UploadAutoFillProperties UploadAutoFillProperties => Factory.GetInstance<UploadAutoFillProperties>();
protected IUmbracoVersion UmbracoVersion { get; private set; }
protected ITypeFinder TypeFinder { get; private set; }
@@ -343,6 +345,7 @@ namespace Umbraco.Tests.Testing
runtimeStateMock.Setup(x => x.Level).Returns(RuntimeLevel.Run);
Composition.RegisterUnique(f => runtimeStateMock.Object);
Composition.Register(_ => Mock.Of<IImageUrlGenerator>());
Composition.Register<UploadAutoFillProperties>();
// ah...
Composition.WithCollectionBuilder<ActionCollectionBuilder>();