diff --git a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs index c5d0169e7b..ffb0679b9d 100644 --- a/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/ContentTypeFactory.cs @@ -9,12 +9,19 @@ namespace Umbraco.Core.Persistence.Factories internal class ContentTypeFactory : IEntityFactory { private readonly Guid _nodeObjectType; + private readonly IProfile _creator; public ContentTypeFactory(Guid nodeObjectType) { _nodeObjectType = nodeObjectType; } + public ContentTypeFactory(Guid nodeObjectType, IProfile creator) + { + _nodeObjectType = nodeObjectType; + _creator = creator; + } + #region Implementation of IEntityFactory public IContentType BuildEntity(DocumentTypeDto dto) @@ -35,7 +42,7 @@ namespace Umbraco.Core.Persistence.Factories CreateDate = dto.ContentTypeDto.NodeDto.CreateDate, Path = dto.ContentTypeDto.NodeDto.Path, Level = dto.ContentTypeDto.NodeDto.Level, - Creator = new Profile(dto.ContentTypeDto.NodeDto.UserId.Value, ""), + Creator = _creator, AllowedAsRoot = dto.ContentTypeDto.AllowAtRoot, IsContainer = dto.ContentTypeDto.IsContainer, Trashed = dto.ContentTypeDto.NodeDto.Trashed diff --git a/src/Umbraco.Core/Persistence/Factories/MediaTypeFactory.cs b/src/Umbraco.Core/Persistence/Factories/MediaTypeFactory.cs index dacbfe736e..1b4a989627 100644 --- a/src/Umbraco.Core/Persistence/Factories/MediaTypeFactory.cs +++ b/src/Umbraco.Core/Persistence/Factories/MediaTypeFactory.cs @@ -9,12 +9,19 @@ namespace Umbraco.Core.Persistence.Factories internal class MediaTypeFactory : IEntityFactory { private readonly Guid _nodeObjectType; + private readonly IProfile _creator; public MediaTypeFactory(Guid nodeObjectType) { _nodeObjectType = nodeObjectType; } + public MediaTypeFactory(Guid nodeObjectType, IProfile creator) + { + _nodeObjectType = nodeObjectType; + _creator = creator; + } + #region Implementation of IEntityFactory public IMediaType BuildEntity(ContentTypeDto dto) @@ -35,7 +42,7 @@ namespace Umbraco.Core.Persistence.Factories CreateDate = dto.NodeDto.CreateDate, Path = dto.NodeDto.Path, Level = dto.NodeDto.Level, - Creator = new Profile(dto.NodeDto.UserId.Value, ""), + Creator = _creator, AllowedAsRoot = dto.AllowAtRoot, IsContainer = dto.IsContainer, Trashed = dto.NodeDto.Trashed diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs index 043559e196..c956d4fc1a 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentRepository.cs @@ -50,11 +50,6 @@ namespace Umbraco.Core.Persistence.Repositories var contentType = _contentTypeRepository.Get(dto.ContentVersionDto.ContentDto.ContentTypeId); - //NOTE: Should eventually be moved to a UserRepository like is the case with ContentType - /*var userDto = Database.FirstOrDefault("WHERE id = @Id", new { Id = dto.ContentVersionDto.ContentDto.NodeDto.UserId }); - var user = new Profile(userDto.Id, userDto.UserName); - var writerDto = Database.FirstOrDefault("WHERE id = @Id", new { Id = dto.WriterUserId }); - var writer = new Profile(writerDto.Id, writerDto.UserName);*/ var user = _userRepository.GetProfileById(dto.ContentVersionDto.ContentDto.NodeDto.UserId.Value); var writer = _userRepository.GetProfileById(dto.WriterUserId); diff --git a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs index 07a2c71380..286de164f9 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ContentTypeRepository.cs @@ -16,13 +16,18 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class ContentTypeRepository : ContentTypeBaseRepository, IContentTypeRepository { - public ContentTypeRepository(IUnitOfWork work) : base(work) + private readonly IUserRepository _userRepository; + + public ContentTypeRepository(IUnitOfWork work, IUserRepository userRepository) + : base(work) { + _userRepository = userRepository; } - public ContentTypeRepository(IUnitOfWork work, IRepositoryCacheProvider cache) + public ContentTypeRepository(IUnitOfWork work, IRepositoryCacheProvider cache, IUserRepository userRepository) : base(work, cache) { + _userRepository = userRepository; } #region Overrides of RepositoryBase @@ -37,7 +42,9 @@ namespace Umbraco.Core.Persistence.Repositories if (dto == null) return null; - var factory = new ContentTypeFactory(NodeObjectTypeId); + var creator = _userRepository.GetProfileById(dto.ContentTypeDto.NodeDto.UserId.Value); + + var factory = new ContentTypeFactory(NodeObjectTypeId, creator); var contentType = factory.BuildEntity(dto); contentType.AllowedContentTypes = GetAllowedContentTypeIds(id); diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs index d8d63dbfe4..5831194279 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs @@ -19,16 +19,20 @@ namespace Umbraco.Core.Persistence.Repositories internal class MediaRepository : PetaPocoRepositoryBase, IMediaRepository { private readonly IMediaTypeRepository _mediaTypeRepository; + private readonly IUserRepository _userRepository; - public MediaRepository(IUnitOfWork work, IMediaTypeRepository mediaTypeRepository) : base(work) + public MediaRepository(IUnitOfWork work, IMediaTypeRepository mediaTypeRepository, IUserRepository userRepository) + : base(work) { _mediaTypeRepository = mediaTypeRepository; + _userRepository = userRepository; } - public MediaRepository(IUnitOfWork work, IRepositoryCacheProvider cache, IMediaTypeRepository mediaTypeRepository) + public MediaRepository(IUnitOfWork work, IRepositoryCacheProvider cache, IMediaTypeRepository mediaTypeRepository, IUserRepository userRepository) : base(work, cache) { _mediaTypeRepository = mediaTypeRepository; + _userRepository = userRepository; } #region Overrides of RepositoryBase @@ -45,10 +49,8 @@ namespace Umbraco.Core.Persistence.Repositories return null; var contentType = _mediaTypeRepository.Get(dto.ContentDto.ContentTypeId); - - //NOTE: Should eventually be moved to a UserRepository like is the case with ContentType - var userDto = Database.FirstOrDefault("WHERE id = @Id", new {Id = dto.ContentDto.NodeDto.UserId}); - var user = new Profile(userDto.Id, userDto.UserName); + + var user = _userRepository.GetProfileById(dto.ContentDto.NodeDto.UserId.Value); var factory = new MediaFactory(contentType, NodeObjectTypeId, id, user); var content = factory.BuildEntity(dto); diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs index fefe2d2a34..a9e26e62d3 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MediaTypeRepository.cs @@ -16,13 +16,18 @@ namespace Umbraco.Core.Persistence.Repositories /// internal class MediaTypeRepository : ContentTypeBaseRepository, IMediaTypeRepository { - public MediaTypeRepository(IUnitOfWork work) : base(work) + private readonly IUserRepository _userRepository; + + public MediaTypeRepository(IUnitOfWork work, IUserRepository userRepository) + : base(work) { + _userRepository = userRepository; } - public MediaTypeRepository(IUnitOfWork work, IRepositoryCacheProvider cache) + public MediaTypeRepository(IUnitOfWork work, IRepositoryCacheProvider cache, IUserRepository userRepository) : base(work, cache) { + _userRepository = userRepository; } #region Overrides of RepositoryBase @@ -37,7 +42,9 @@ namespace Umbraco.Core.Persistence.Repositories if (dto == null) return null; - var factory = new MediaTypeFactory(NodeObjectTypeId); + var creator = _userRepository.GetProfileById(dto.NodeDto.UserId.Value); + + var factory = new MediaTypeFactory(NodeObjectTypeId, creator); var contentType = factory.BuildEntity(dto); contentType.AllowedContentTypes = GetAllowedContentTypeIds(id); diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs index 1bcf454e3a..b48635d477 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentRepositoryTest.cs @@ -50,7 +50,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var contentTypeRepository = new ContentTypeRepository(unitOfWork); + var contentTypeRepository = RepositoryResolver.ResolveByType(unitOfWork); var repository = RepositoryResolver.ResolveByType(unitOfWork); ContentType contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage"); @@ -72,7 +72,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var contentTypeRepository = new ContentTypeRepository(unitOfWork); + var contentTypeRepository = RepositoryResolver.ResolveByType(unitOfWork); var repository = RepositoryResolver.ResolveByType(unitOfWork); ContentType contentType = MockedContentTypes.CreateSimpleContentType("umbTextpage", "Textpage"); @@ -165,7 +165,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var contentTypeRepository = new ContentTypeRepository(unitOfWork); + var contentTypeRepository = RepositoryResolver.ResolveByType(unitOfWork); var repository = RepositoryResolver.ResolveByType(unitOfWork); var contentType = contentTypeRepository.Get(1045); diff --git a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs index b72965b06e..59321639fd 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/ContentTypeRepositoryTest.cs @@ -2,6 +2,8 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core.Models; +using Umbraco.Core.Models.EntityBase; +using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; @@ -35,7 +37,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - var repository = new ContentTypeRepository(unitOfWork); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Assert Assert.That(repository, Is.Not.Null); @@ -47,7 +49,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = MockedContentTypes.CreateSimpleContentType(); @@ -67,9 +69,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new ContentTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = repository.Get(1046); @@ -85,10 +85,10 @@ namespace Umbraco.Tests.Persistence.Repositories SortOrder = 1, DataTypeId = -88 }); - repository2.AddOrUpdate(contentType); - unitOfWork2.Commit(); + repository.AddOrUpdate(contentType); + unitOfWork.Commit(); - var dirty = ((ContentType) contentType).IsDirty(); + var dirty = ((ICanBeDirty) contentType).IsDirty(); // Assert Assert.That(contentType.HasIdentity, Is.True); @@ -103,22 +103,18 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var unitOfWork3 = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new ContentTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); - var repository3 = new ContentTypeRepository(unitOfWork3, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = MockedContentTypes.CreateSimpleContentType(); repository.AddOrUpdate(contentType); unitOfWork.Commit(); - var contentType2 = repository2.Get(contentType.Id); - repository2.Delete(contentType2); - unitOfWork2.Commit(); + var contentType2 = repository.Get(contentType.Id); + repository.Delete(contentType2); + unitOfWork.Commit(); - var exists = repository3.Exists(contentType.Id); + var exists = repository.Exists(contentType.Id); // Assert Assert.That(exists, Is.False); @@ -130,7 +126,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = repository.Get(1046); @@ -146,8 +142,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - InMemoryCacheProvider.Current.Clear(); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentTypes = repository.GetAll(); @@ -167,7 +162,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var exists = repository.Exists(1045); @@ -182,20 +177,16 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var unitOfWork3 = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new ContentTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); - var repository3 = new ContentTypeRepository(unitOfWork3, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var contentType = repository.Get(1046); // Act - var contentType2 = repository2.Get(1046); + var contentType2 = repository.Get(1046); contentType2.PropertyGroups["Meta"].PropertyTypes.Remove("metaDescription"); - repository2.AddOrUpdate(contentType2); - unitOfWork2.Commit(); + repository.AddOrUpdate(contentType2); + unitOfWork.Commit(); - var contentType3 = repository3.Get(1046); + var contentType3 = repository.Get(1046); // Assert Assert.That(contentType3.PropertyTypes.Any(x => x.Alias == "metaDescription"), Is.False); @@ -209,7 +200,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = repository.Get(1045); @@ -225,7 +216,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new ContentTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = repository.Get(1046); diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs index 3203964d2c..abfe3c811c 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaRepositoryTest.cs @@ -3,9 +3,7 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core.Models; using Umbraco.Core.Models.EntityBase; -using Umbraco.Core.Models.Membership; using Umbraco.Core.Persistence; -using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Querying; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; @@ -33,8 +31,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Assert Assert.That(repository, Is.Not.Null); @@ -46,8 +43,8 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var mediaTypeRepository = RepositoryResolver.ResolveByType(unitOfWork); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var mediaType = mediaTypeRepository.Get(1032); var image = MockedMedia.CreateMediaImage(mediaType, -1); @@ -68,8 +65,8 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var mediaTypeRepository = RepositoryResolver.ResolveByType(unitOfWork); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var mediaType = mediaTypeRepository.Get(1032); var file = MockedMedia.CreateMediaFile(mediaType, -1); @@ -126,8 +123,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var media = repository.Get(1046); @@ -143,8 +139,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var content = repository.Get(1047); @@ -165,8 +160,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var media = repository.Get(1047); @@ -187,8 +181,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var media = repository.Get(1046); @@ -212,8 +205,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var query = Query.Builder.Where(x => x.Level == 2); @@ -229,8 +221,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var medias = repository.GetAll(1046, 1047); @@ -247,8 +238,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var medias = repository.GetAll(); @@ -265,8 +255,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var exists = repository.Exists(1046); @@ -285,8 +274,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var mediaTypeRepository = new MediaTypeRepository(unitOfWork); - var repository = new MediaRepository(unitOfWork, InMemoryCacheProvider.Current, mediaTypeRepository); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act int level = 2; diff --git a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs index 6cde15ab15..6bf55c6848 100644 --- a/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs +++ b/src/Umbraco.Tests/Persistence/Repositories/MediaTypeRepositoryTest.cs @@ -2,6 +2,7 @@ using System.Linq; using NUnit.Framework; using Umbraco.Core.Models; +using Umbraco.Core.Persistence; using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Repositories; using Umbraco.Core.Persistence.UnitOfWork; @@ -27,7 +28,7 @@ namespace Umbraco.Tests.Persistence.Repositories var unitOfWork = provider.GetUnitOfWork(); // Act - var repository = new MediaTypeRepository(unitOfWork); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Assert Assert.That(repository, Is.Not.Null); @@ -39,7 +40,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = MockedContentTypes.CreateVideoMediaType(); @@ -59,9 +60,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new MediaTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var videoMediaType = MockedContentTypes.CreateVideoMediaType(); repository.AddOrUpdate(videoMediaType); unitOfWork.Commit(); @@ -80,8 +79,8 @@ namespace Umbraco.Tests.Persistence.Repositories SortOrder = 1, DataTypeId = -88 }); - repository2.AddOrUpdate(mediaType); - unitOfWork2.Commit(); + repository.AddOrUpdate(mediaType); + unitOfWork.Commit(); var dirty = ((MediaType)mediaType).IsDirty(); @@ -98,22 +97,18 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var unitOfWork3 = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new MediaTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); - var repository3 = new MediaTypeRepository(unitOfWork3, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var mediaType = MockedContentTypes.CreateVideoMediaType(); repository.AddOrUpdate(mediaType); unitOfWork.Commit(); - var contentType2 = repository2.Get(mediaType.Id); - repository2.Delete(contentType2); - unitOfWork2.Commit(); + var contentType2 = repository.Get(mediaType.Id); + repository.Delete(contentType2); + unitOfWork.Commit(); - var exists = repository3.Exists(mediaType.Id); + var exists = repository.Exists(mediaType.Id); // Assert Assert.That(exists, Is.False); @@ -125,7 +120,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var mediaType = repository.Get(1033);//File @@ -142,7 +137,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); InMemoryCacheProvider.Current.Clear(); // Act @@ -163,7 +158,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var exists = repository.Exists(1032);//Image @@ -178,22 +173,18 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var unitOfWork2 = provider.GetUnitOfWork(); - var unitOfWork3 = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); - var repository2 = new MediaTypeRepository(unitOfWork2, InMemoryCacheProvider.Current); - var repository3 = new MediaTypeRepository(unitOfWork3, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var mediaType = MockedContentTypes.CreateVideoMediaType(); repository.AddOrUpdate(mediaType); unitOfWork.Commit(); // Act - var mediaTypeV2 = repository2.Get(1045); + var mediaTypeV2 = repository.Get(1045); mediaTypeV2.PropertyGroups["Media"].PropertyTypes.Remove("title"); - repository2.AddOrUpdate(mediaTypeV2); - unitOfWork2.Commit(); + repository.AddOrUpdate(mediaTypeV2); + unitOfWork.Commit(); - var mediaTypeV3 = repository3.Get(1045); + var mediaTypeV3 = repository.Get(1045); // Assert Assert.That(mediaTypeV3.PropertyTypes.Any(x => x.Alias == "title"), Is.False); @@ -207,7 +198,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); var mediaType = MockedContentTypes.CreateVideoMediaType(); repository.AddOrUpdate(mediaType); unitOfWork.Commit(); @@ -226,7 +217,7 @@ namespace Umbraco.Tests.Persistence.Repositories // Arrange var provider = new PetaPocoUnitOfWorkProvider(); var unitOfWork = provider.GetUnitOfWork(); - var repository = new MediaTypeRepository(unitOfWork, InMemoryCacheProvider.Current); + var repository = RepositoryResolver.ResolveByType(unitOfWork); // Act var contentType = repository.Get(1033);//File