Merge branch 'temp-U4-7372' into 7.4.0
Conflicts: src/Umbraco.Core/Persistence/Migrations/Upgrades/TargetVersionSixZeroOne/UpdatePropertyTypesAndGroups.cs
This commit is contained in:
@@ -205,7 +205,7 @@ namespace Umbraco.Tests.Models
|
||||
}
|
||||
Assert.AreNotSame(clone.PropertyTypes, contentType.PropertyTypes);
|
||||
Assert.AreEqual(clone.PropertyTypes.Count(), contentType.PropertyTypes.Count());
|
||||
Assert.AreEqual(0, ((ContentTypeBase)clone).NonGroupedPropertyTypes.Count());
|
||||
Assert.AreEqual(0, clone.NoGroupPropertyTypes.Count());
|
||||
for (var index = 0; index < contentType.PropertyTypes.Count(); index++)
|
||||
{
|
||||
Assert.AreNotSame(clone.PropertyTypes.ElementAt(index), contentType.PropertyTypes.ElementAt(index));
|
||||
|
||||
@@ -246,7 +246,10 @@ namespace Umbraco.Tests.Models.Mapping
|
||||
[Test]
|
||||
public void PropertyGroupBasic_To_PropertyGroup()
|
||||
{
|
||||
var basic = new PropertyGroupBasic<PropertyTypeBasic>()
|
||||
_dataTypeService.Setup(x => x.GetDataTypeDefinitionById(It.IsAny<int>()))
|
||||
.Returns(new DataTypeDefinition("test"));
|
||||
|
||||
var basic = new PropertyGroupBasic<PropertyTypeBasic>
|
||||
{
|
||||
Id = 222,
|
||||
Name = "Group 1",
|
||||
@@ -286,7 +289,19 @@ namespace Umbraco.Tests.Models.Mapping
|
||||
}
|
||||
};
|
||||
|
||||
var result = Mapper.Map<PropertyGroup>(basic);
|
||||
var contentType = new ContentTypeSave
|
||||
{
|
||||
Id = 0,
|
||||
ParentId = -1,
|
||||
Alias = "alias",
|
||||
AllowedTemplates = Enumerable.Empty<string>(),
|
||||
Groups = new[] { basic }
|
||||
};
|
||||
|
||||
// proper group properties mapping takes place when mapping the content type,
|
||||
// not when mapping the group - because of inherited properties and such
|
||||
//var result = Mapper.Map<PropertyGroup>(basic);
|
||||
var result = Mapper.Map<IContentType>(contentType).PropertyGroups[0];
|
||||
|
||||
Assert.AreEqual(basic.Name, result.Name);
|
||||
Assert.AreEqual(basic.Id, result.Id);
|
||||
|
||||
@@ -54,8 +54,7 @@ namespace Umbraco.Tests.Models
|
||||
Key = Guid.NewGuid(),
|
||||
Name = "Group1",
|
||||
SortOrder = 555,
|
||||
UpdateDate = DateTime.Now,
|
||||
ParentId = 9
|
||||
UpdateDate = DateTime.Now
|
||||
};
|
||||
|
||||
var clone = (PropertyGroup)pg.DeepClone();
|
||||
@@ -68,7 +67,6 @@ namespace Umbraco.Tests.Models
|
||||
Assert.AreEqual(clone.Name, pg.Name);
|
||||
Assert.AreEqual(clone.SortOrder, pg.SortOrder);
|
||||
Assert.AreEqual(clone.UpdateDate, pg.UpdateDate);
|
||||
Assert.AreEqual(clone.ParentId, pg.ParentId);
|
||||
Assert.AreNotSame(clone.PropertyTypes, pg.PropertyTypes);
|
||||
Assert.AreEqual(clone.PropertyTypes, pg.PropertyTypes);
|
||||
Assert.AreEqual(clone.PropertyTypes.Count, pg.PropertyTypes.Count);
|
||||
@@ -133,8 +131,7 @@ namespace Umbraco.Tests.Models
|
||||
Key = Guid.NewGuid(),
|
||||
Name = "Group1",
|
||||
SortOrder = 555,
|
||||
UpdateDate = DateTime.Now,
|
||||
ParentId = 9
|
||||
UpdateDate = DateTime.Now
|
||||
};
|
||||
|
||||
var result = ss.ToStream(pg);
|
||||
|
||||
@@ -305,7 +305,7 @@ namespace Umbraco.Tests.Persistence
|
||||
DatabaseSchemaHelper.CreateTable<NodeDto>();
|
||||
DatabaseSchemaHelper.CreateTable<ContentTypeDto>();
|
||||
DatabaseSchemaHelper.CreateTable<TemplateDto>();
|
||||
DatabaseSchemaHelper.CreateTable<DocumentTypeDto>();
|
||||
DatabaseSchemaHelper.CreateTable<ContentTypeTemplateDto>();
|
||||
|
||||
//transaction.Complete();
|
||||
}
|
||||
|
||||
@@ -20,19 +20,6 @@ namespace Umbraco.Tests.Persistence.Mappers
|
||||
Assert.That(column, Is.EqualTo("[cmsPropertyTypeGroup].[id]"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Map_ParentId_Property()
|
||||
{
|
||||
// Arrange
|
||||
SqlSyntaxContext.SqlSyntaxProvider = new SqlCeSyntaxProvider();
|
||||
|
||||
// Act
|
||||
string column = new PropertyGroupMapper().Map("ParentId");
|
||||
|
||||
// Assert
|
||||
Assert.That(column, Is.EqualTo("[cmsPropertyTypeGroup].[parentGroupId]"));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Map_SortOrder_Property()
|
||||
{
|
||||
|
||||
@@ -27,13 +27,13 @@ namespace Umbraco.Tests.Persistence.Querying
|
||||
|
||||
var sql = new Sql();
|
||||
sql.Select("*")
|
||||
.From<DocumentTypeDto>()
|
||||
.From<ContentTypeTemplateDto>()
|
||||
.RightJoin<ContentTypeDto>()
|
||||
.On<ContentTypeDto, DocumentTypeDto>(left => left.NodeId, right => right.ContentTypeNodeId)
|
||||
.On<ContentTypeDto, ContentTypeTemplateDto>(left => left.NodeId, right => right.ContentTypeNodeId)
|
||||
.InnerJoin<NodeDto>()
|
||||
.On<ContentTypeDto, NodeDto>(left => left.NodeId, right => right.NodeId)
|
||||
.Where<NodeDto>(x => x.NodeObjectType == NodeObjectType)
|
||||
.Where<DocumentTypeDto>(x => x.IsDefault == true);
|
||||
.Where<ContentTypeTemplateDto>(x => x.IsDefault == true);
|
||||
|
||||
Assert.That(sql.SQL, Is.EqualTo(expected.SQL));
|
||||
|
||||
@@ -64,13 +64,13 @@ namespace Umbraco.Tests.Persistence.Querying
|
||||
|
||||
var sql = new Sql();
|
||||
sql.Select("*")
|
||||
.From<DocumentTypeDto>()
|
||||
.From<ContentTypeTemplateDto>()
|
||||
.RightJoin<ContentTypeDto>()
|
||||
.On<ContentTypeDto, DocumentTypeDto>(left => left.NodeId, right => right.ContentTypeNodeId)
|
||||
.On<ContentTypeDto, ContentTypeTemplateDto>(left => left.NodeId, right => right.ContentTypeNodeId)
|
||||
.InnerJoin<NodeDto>()
|
||||
.On<ContentTypeDto, NodeDto>(left => left.NodeId, right => right.NodeId)
|
||||
.Where<NodeDto>(x => x.NodeObjectType == NodeObjectType)
|
||||
.Where<DocumentTypeDto>(x => x.IsDefault)
|
||||
.Where<ContentTypeTemplateDto>(x => x.IsDefault)
|
||||
.Where<NodeDto>(x => x.NodeId == 1050);
|
||||
|
||||
Assert.That(sql.SQL, Is.EqualTo(expected.SQL));
|
||||
|
||||
@@ -43,8 +43,8 @@ namespace Umbraco.Tests.Persistence.Querying
|
||||
DatabaseContext.Database.Insert("cmsContentType", "pk", false, new ContentTypeDto { PrimaryKey = 88889, NodeId = 99999, Alias = "TestContentType3", Icon = "icon-folder", Thumbnail = "folder.png", IsContainer = false, AllowAtRoot = true });
|
||||
DatabaseContext.Database.Execute(new Sql(string.Format("SET IDENTITY_INSERT {0} OFF ", SqlSyntaxContext.SqlSyntaxProvider.GetQuotedTableName("cmsContentType"))));
|
||||
|
||||
DatabaseContext.Database.Insert(new DocumentTypeDto { ContentTypeNodeId = 99997, IsDefault = true, TemplateNodeId = 55555 });
|
||||
DatabaseContext.Database.Insert(new DocumentTypeDto { ContentTypeNodeId = 99997, IsDefault = false, TemplateNodeId = 55554 });
|
||||
DatabaseContext.Database.Insert(new ContentTypeTemplateDto { ContentTypeNodeId = 99997, IsDefault = true, TemplateNodeId = 55555 });
|
||||
DatabaseContext.Database.Insert(new ContentTypeTemplateDto { ContentTypeNodeId = 99997, IsDefault = false, TemplateNodeId = 55554 });
|
||||
|
||||
DatabaseContext.Database.Insert(new ContentTypeAllowedContentTypeDto { AllowedId = 99998, Id = 99997, SortOrder = 1 });
|
||||
DatabaseContext.Database.Insert(new ContentTypeAllowedContentTypeDto { AllowedId = 99999, Id = 99997, SortOrder = 2});
|
||||
|
||||
@@ -56,6 +56,17 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
return contentTypeRepository;
|
||||
}
|
||||
|
||||
private MediaTypeRepository CreateMediaTypeRepository(IDatabaseUnitOfWork unitOfWork)
|
||||
{
|
||||
var contentTypeRepository = new MediaTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax);
|
||||
return contentTypeRepository;
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IDatabaseUnitOfWork unitOfWork)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax);
|
||||
}
|
||||
|
||||
//TODO Add test to verify SetDefaultTemplates updates both AllowedTemplates and DefaultTemplate(id).
|
||||
|
||||
|
||||
@@ -100,12 +111,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
var container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.DocumentTypeGuid) { Name = "blah1" };
|
||||
containerRepository.AddOrUpdate(container1);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var container2 = repository.CreateContainer(container.Id, "blah2", 0);
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.DocumentTypeGuid) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.AddOrUpdate(container2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var contentType = (IContentType) MockedContentTypes.CreateBasicContentType("asdfasdf");
|
||||
@@ -122,7 +136,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.AddOrUpdate(contentType2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var result = repository.Move(contentType, container.Id).ToArray();
|
||||
var result = repository.Move(contentType, container1).ToArray();
|
||||
unitOfWork.Commit();
|
||||
|
||||
Assert.AreEqual(2, result.Count());
|
||||
@@ -131,7 +145,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
contentType = repository.Get(contentType.Id);
|
||||
contentType2 = repository.Get(contentType2.Id);
|
||||
|
||||
Assert.AreEqual(container.Id, contentType.ParentId);
|
||||
Assert.AreEqual(container1.Id, contentType.ParentId);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == contentType.Id).OriginalPath, contentType.Path);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == contentType2.Id).OriginalPath, contentType2.Path);
|
||||
}
|
||||
@@ -144,16 +158,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DocumentTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
}
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DocumentTypeContainer), new Guid(Constants.ObjectTypes.DocumentType)))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNotNull(found);
|
||||
}
|
||||
}
|
||||
@@ -164,23 +178,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DocumentTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DocumentTypeContainer), new Guid(Constants.ObjectTypes.DocumentType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,10 +202,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.MediaTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var contentType = MockedContentTypes.CreateSimpleContentType("test", "Test", propertyGroupName: "testGroup");
|
||||
@@ -210,29 +224,28 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
IContentType contentType;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
IMediaType contentType;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateMediaTypeRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.MediaTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
contentType = MockedContentTypes.CreateSimpleContentType("test", "Test", propertyGroupName: "testGroup");
|
||||
contentType = MockedContentTypes.CreateSimpleMediaType("test", "Test", propertyGroupName: "testGroup");
|
||||
contentType.ParentId = container.Id;
|
||||
repository.AddOrUpdate(contentType);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateMediaTypeRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DocumentTypeContainer), new Guid(Constants.ObjectTypes.DocumentType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
|
||||
contentType = repository.Get(contentType.Id);
|
||||
Assert.IsNotNull(contentType);
|
||||
|
||||
@@ -42,6 +42,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
return dataTypeDefinitionRepository;
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IDatabaseUnitOfWork unitOfWork)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax);
|
||||
}
|
||||
|
||||
[TestCase("UmbracoPreVal87-21,3,48", 3, true)]
|
||||
[TestCase("UmbracoPreVal87-21,33,48", 3, false)]
|
||||
[TestCase("UmbracoPreVal87-21,33,48", 33, true)]
|
||||
@@ -64,12 +69,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
var container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah1" };
|
||||
containerRepository.AddOrUpdate(container1);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var container2 = repository.CreateContainer(container.Id, "blah2", 0);
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.AddOrUpdate(container2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var dataType = (IDataTypeDefinition) new DataTypeDefinition(container2.Id, Constants.PropertyEditors.RadioButtonListAlias)
|
||||
@@ -87,7 +95,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.AddOrUpdate(dataType2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var result = repository.Move(dataType, container.Id).ToArray();
|
||||
var result = repository.Move(dataType, container1).ToArray();
|
||||
unitOfWork.Commit();
|
||||
|
||||
Assert.AreEqual(2, result.Count());
|
||||
@@ -96,7 +104,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
dataType = repository.Get(dataType.Id);
|
||||
dataType2 = repository.Get(dataType2.Id);
|
||||
|
||||
Assert.AreEqual(container.Id, dataType.ParentId);
|
||||
Assert.AreEqual(container1.Id, dataType.ParentId);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == dataType.Id).OriginalPath, dataType.Path);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == dataType2.Id).OriginalPath, dataType2.Path);
|
||||
}
|
||||
@@ -109,16 +117,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
}
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DataTypeContainer), new Guid(Constants.ObjectTypes.DataType)))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNotNull(found);
|
||||
}
|
||||
}
|
||||
@@ -129,23 +137,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DataTypeContainer), new Guid(Constants.ObjectTypes.DataType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,10 +161,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var dataTypeDefinition = new DataTypeDefinition(container.Id, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
@@ -175,27 +183,26 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
IDataTypeDefinition dataType;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
dataType = new DataTypeDefinition(container.Id, Constants.PropertyEditors.RadioButtonListAlias) { Name = "test" };
|
||||
repository.AddOrUpdate(dataType);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.DataTypeContainer), new Guid(Constants.ObjectTypes.DataType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
|
||||
dataType = repository.Get(dataType.Id);
|
||||
Assert.IsNotNull(dataType);
|
||||
|
||||
@@ -31,17 +31,25 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
return new MediaTypeRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax);
|
||||
}
|
||||
|
||||
private EntityContainerRepository CreateContainerRepository(IDatabaseUnitOfWork unitOfWork)
|
||||
{
|
||||
return new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Can_Move()
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
var container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container1 = new EntityContainer(Constants.ObjectTypes.MediaTypeGuid) { Name = "blah1" };
|
||||
containerRepository.AddOrUpdate(container1);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var container2 = repository.CreateContainer(container.Id, "blah2", 0);
|
||||
var container2 = new EntityContainer(Constants.ObjectTypes.MediaTypeGuid) { Name = "blah2", ParentId = container1.Id };
|
||||
containerRepository.AddOrUpdate(container2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var contentType = (IMediaType)MockedContentTypes.CreateVideoMediaType();
|
||||
@@ -58,7 +66,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.AddOrUpdate(contentType2);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var result = repository.Move(contentType, container.Id).ToArray();
|
||||
var result = repository.Move(contentType, container1).ToArray();
|
||||
unitOfWork.Commit();
|
||||
|
||||
Assert.AreEqual(2, result.Count());
|
||||
@@ -67,7 +75,7 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
contentType = repository.Get(contentType.Id);
|
||||
contentType2 = repository.Get(contentType2.Id);
|
||||
|
||||
Assert.AreEqual(container.Id, contentType.ParentId);
|
||||
Assert.AreEqual(container1.Id, contentType.ParentId);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == contentType.Id).OriginalPath, contentType.Path);
|
||||
Assert.AreNotEqual(result.Single(x => x.Entity.Id == contentType2.Id).OriginalPath, contentType2.Path);
|
||||
}
|
||||
@@ -80,16 +88,16 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
Assert.That(container.Id, Is.GreaterThan(0));
|
||||
}
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.MediaTypeContainer), new Guid(Constants.ObjectTypes.MediaType)))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNotNull(found);
|
||||
}
|
||||
}
|
||||
@@ -100,23 +108,22 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.MediaTypeContainer), new Guid(Constants.ObjectTypes.MediaType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
{
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,10 +132,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
{
|
||||
var provider = new PetaPocoUnitOfWorkProvider(Logger);
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
var container = new EntityContainer(Constants.ObjectTypes.DataTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
var contentType = MockedContentTypes.CreateVideoMediaType();
|
||||
@@ -147,9 +155,11 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
var unitOfWork = provider.GetUnitOfWork();
|
||||
EntityContainer container;
|
||||
IMediaType contentType;
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
container = repository.CreateContainer(-1, "blah", 0);
|
||||
container = new EntityContainer(Constants.ObjectTypes.MediaTypeGuid) { Name = "blah" };
|
||||
containerRepository.AddOrUpdate(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
contentType = MockedContentTypes.CreateVideoMediaType();
|
||||
@@ -157,18 +167,15 @@ namespace Umbraco.Tests.Persistence.Repositories
|
||||
repository.AddOrUpdate(contentType);
|
||||
unitOfWork.Commit();
|
||||
}
|
||||
using (var containerRepository = CreateContainerRepository(unitOfWork))
|
||||
using (var repository = CreateRepository(unitOfWork))
|
||||
{
|
||||
// Act
|
||||
repository.DeleteContainer(container.Id);
|
||||
containerRepository.Delete(container);
|
||||
unitOfWork.Commit();
|
||||
|
||||
using (var entityRepo = new EntityContainerRepository(unitOfWork, CacheHelper.CreateDisabledCacheHelper(), Mock.Of<ILogger>(), SqlSyntax,
|
||||
new Guid(Constants.ObjectTypes.MediaTypeContainer), new Guid(Constants.ObjectTypes.MediaType)))
|
||||
{
|
||||
var found = entityRepo.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
}
|
||||
var found = containerRepository.Get(container.Id);
|
||||
Assert.IsNull(found);
|
||||
|
||||
contentType = repository.Get(contentType.Id);
|
||||
Assert.IsNotNull(contentType);
|
||||
|
||||
@@ -986,7 +986,9 @@ namespace Umbraco.Tests.Services
|
||||
Assert.That(contentType, Is.Not.Null);
|
||||
|
||||
var compositionPropertyGroups = contentType.CompositionPropertyGroups;
|
||||
Assert.That(compositionPropertyGroups.Count(x => x.Name.Equals("Content_")), Is.EqualTo(0));
|
||||
|
||||
// now it is still 1, because we don't propagate renames anymore
|
||||
Assert.That(compositionPropertyGroups.Count(x => x.Name.Equals("Content_")), Is.EqualTo(1));
|
||||
|
||||
var propertyTypeCount = contentType.PropertyTypes.Count();
|
||||
var compPropertyTypeCount = contentType.CompositionPropertyTypes.Count();
|
||||
@@ -1059,7 +1061,9 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
var advancedPageReloaded = service.GetContentType("advancedPage");
|
||||
var contentUnderscoreTabExists = advancedPageReloaded.CompositionPropertyGroups.Any(x => x.Name.Equals("Content_"));
|
||||
Assert.That(contentUnderscoreTabExists, Is.False);
|
||||
|
||||
// now is true, because we don't propagate renames anymore
|
||||
Assert.That(contentUnderscoreTabExists, Is.True);
|
||||
|
||||
var numberOfContentTabs = advancedPageReloaded.CompositionPropertyGroups.Count(x => x.Name.Equals("Content"));
|
||||
Assert.That(numberOfContentTabs, Is.EqualTo(4));
|
||||
@@ -1162,7 +1166,6 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
var contentType = service.GetContentType("contentPage");
|
||||
var propertyGroup = contentType.PropertyGroups["Content"];
|
||||
Assert.That(propertyGroup.ParentId.HasValue, Is.False);
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -1259,7 +1262,6 @@ namespace Umbraco.Tests.Services
|
||||
|
||||
var contentType = service.GetContentType("contentPage");
|
||||
var propertyGroup = contentType.PropertyGroups["Content"];
|
||||
Assert.That(propertyGroup.ParentId.HasValue, Is.False);
|
||||
|
||||
var numberOfContentTabs = contentType.CompositionPropertyGroups.Count(x => x.Name.Equals("Content"));
|
||||
Assert.That(numberOfContentTabs, Is.EqualTo(3));
|
||||
@@ -1278,7 +1280,6 @@ namespace Umbraco.Tests.Services
|
||||
var propertyGroupReloaded = contentPageReloaded.PropertyGroups["Content"];
|
||||
var hasDescriptionPropertyType = propertyGroupReloaded.PropertyTypes.Contains("description");
|
||||
Assert.That(hasDescriptionPropertyType, Is.True);
|
||||
Assert.That(propertyGroupReloaded.ParentId.HasValue, Is.False);
|
||||
|
||||
var descriptionPropertyTypeReloaded = propertyGroupReloaded.PropertyTypes["description"];
|
||||
Assert.That(descriptionPropertyTypeReloaded.PropertyGroupId.IsValueCreated, Is.False);
|
||||
|
||||
@@ -185,24 +185,41 @@ namespace Umbraco.Tests.TestHelpers.Entities
|
||||
var pg = new PropertyGroup(contentCollection) {Name = propertyGroupName, SortOrder = 1};
|
||||
contentType.PropertyGroups.Add(pg);
|
||||
|
||||
if (parent != null)
|
||||
{
|
||||
var foundPg = parent.PropertyGroups.FirstOrDefault(x => x.Name == propertyGroupName);
|
||||
if (foundPg != null)
|
||||
{
|
||||
//this exists on the parent, so set the parent id
|
||||
pg.SetLazyParentId(new Lazy<int?>(() => foundPg.Id));
|
||||
}
|
||||
}
|
||||
|
||||
//ensure that nothing is marked as dirty
|
||||
contentType.ResetDirtyProperties(false);
|
||||
|
||||
contentType.SetDefaultTemplate(new Template("Textpage", "textpage"));
|
||||
|
||||
return contentType;
|
||||
}
|
||||
}
|
||||
|
||||
public static MediaType CreateSimpleMediaType(string alias, string name, IMediaType parent = null, bool randomizeAliases = false, string propertyGroupName = "Content")
|
||||
{
|
||||
var contentType = parent == null ? new MediaType(-1) : new MediaType(parent, alias);
|
||||
|
||||
contentType.Alias = alias;
|
||||
contentType.Name = name;
|
||||
contentType.Description = "ContentType used for simple text pages";
|
||||
contentType.Icon = ".sprTreeDoc3";
|
||||
contentType.Thumbnail = "doc2.png";
|
||||
contentType.SortOrder = 1;
|
||||
contentType.CreatorId = 0;
|
||||
contentType.Trashed = false;
|
||||
|
||||
var contentCollection = new PropertyTypeCollection();
|
||||
contentCollection.Add(new PropertyType(Constants.PropertyEditors.TextboxAlias, DataTypeDatabaseType.Ntext) { Alias = RandomAlias("title", randomizeAliases), Name = "Title", Description = "", Mandatory = false, SortOrder = 1, DataTypeDefinitionId = -88 });
|
||||
contentCollection.Add(new PropertyType(Constants.PropertyEditors.TinyMCEAlias, DataTypeDatabaseType.Ntext) { Alias = RandomAlias("bodyText", randomizeAliases), Name = "Body Text", Description = "", Mandatory = false, SortOrder = 2, DataTypeDefinitionId = -87 });
|
||||
contentCollection.Add(new PropertyType(Constants.PropertyEditors.TextboxAlias, DataTypeDatabaseType.Ntext) { Alias = RandomAlias("author", randomizeAliases), Name = "Author", Description = "Name of the author", Mandatory = false, SortOrder = 3, DataTypeDefinitionId = -88 });
|
||||
|
||||
var pg = new PropertyGroup(contentCollection) { Name = propertyGroupName, SortOrder = 1 };
|
||||
contentType.PropertyGroups.Add(pg);
|
||||
|
||||
//ensure that nothing is marked as dirty
|
||||
contentType.ResetDirtyProperties(false);
|
||||
|
||||
return contentType;
|
||||
}
|
||||
|
||||
public static ContentType CreateSimpleContentType(string alias, string name, bool mandatory)
|
||||
{
|
||||
var contentType = new ContentType(-1)
|
||||
|
||||
Reference in New Issue
Block a user