Refactoring a few repositories to use the UserRepository for getting an IProfile for a Creator/Writer

This commit is contained in:
Morten Christensen
2012-11-09 20:26:47 -01:00
parent 270d75ecd1
commit e832da5bfc
10 changed files with 105 additions and 110 deletions
@@ -9,12 +9,19 @@ namespace Umbraco.Core.Persistence.Factories
internal class ContentTypeFactory : IEntityFactory<IContentType, DocumentTypeDto>
{
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<IContentType,DocumentTypeDto>
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
@@ -9,12 +9,19 @@ namespace Umbraco.Core.Persistence.Factories
internal class MediaTypeFactory : IEntityFactory<IMediaType, ContentTypeDto>
{
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<IMediaType,ContentTypeDto>
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
@@ -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<UserDto>("WHERE id = @Id", new { Id = dto.ContentVersionDto.ContentDto.NodeDto.UserId });
var user = new Profile(userDto.Id, userDto.UserName);
var writerDto = Database.FirstOrDefault<UserDto>("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);
@@ -16,13 +16,18 @@ namespace Umbraco.Core.Persistence.Repositories
/// </summary>
internal class ContentTypeRepository : ContentTypeBaseRepository<int, IContentType>, 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<int,IContentType>
@@ -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);
@@ -19,16 +19,20 @@ namespace Umbraco.Core.Persistence.Repositories
internal class MediaRepository : PetaPocoRepositoryBase<int, IMedia>, 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<int,IMedia>
@@ -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<UserDto>("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);
@@ -16,13 +16,18 @@ namespace Umbraco.Core.Persistence.Repositories
/// </summary>
internal class MediaTypeRepository : ContentTypeBaseRepository<int, IMediaType>, 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<int,IMedia>
@@ -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);
@@ -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<IContentTypeRepository, IContentType, int>(unitOfWork);
var repository = RepositoryResolver.ResolveByType<IContentRepository, IContent, int>(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<IContentTypeRepository, IContentType, int>(unitOfWork);
var repository = RepositoryResolver.ResolveByType<IContentRepository, IContent, int>(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<IContentTypeRepository, IContentType, int>(unitOfWork);
var repository = RepositoryResolver.ResolveByType<IContentRepository, IContent, int>(unitOfWork);
var contentType = contentTypeRepository.Get(1045);
@@ -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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(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<IContentTypeRepository, IContentType, int>(unitOfWork);
// Act
var contentType = repository.Get(1046);
@@ -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<IMediaRepository, IMedia, int>(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<IMediaTypeRepository, IMediaType, int>(unitOfWork);
var repository = RepositoryResolver.ResolveByType<IMediaRepository, IMedia, int>(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<IMediaTypeRepository, IMediaType, int>(unitOfWork);
var repository = RepositoryResolver.ResolveByType<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(unitOfWork);
// Act
var query = Query<IMedia>.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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(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<IMediaRepository, IMedia, int>(unitOfWork);
// Act
int level = 2;
@@ -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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(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<IMediaTypeRepository, IMediaType, int>(unitOfWork);
// Act
var contentType = repository.Get(1033);//File