Merge remote-tracking branch 'origin/6.2.0' into 7.0.2

Conflicts:
	src/Umbraco.Tests/Persistence/Repositories/MemberTypeRepositoryTest.cs
This commit is contained in:
Shannon
2013-12-17 11:42:50 +11:00
2 changed files with 44 additions and 32 deletions

View File

@@ -43,6 +43,7 @@ namespace Umbraco.Core.Models
_allowedContentTypes = new List<ContentTypeSort>(); _allowedContentTypes = new List<ContentTypeSort>();
_propertyGroups = new PropertyGroupCollection(); _propertyGroups = new PropertyGroupCollection();
_propertyTypes = new PropertyTypeCollection(); _propertyTypes = new PropertyTypeCollection();
_propertyTypes.CollectionChanged += PropertyTypesChanged;
_additionalData = new Dictionary<string, object>(); _additionalData = new Dictionary<string, object>();
} }
@@ -54,6 +55,7 @@ namespace Umbraco.Core.Models
_allowedContentTypes = new List<ContentTypeSort>(); _allowedContentTypes = new List<ContentTypeSort>();
_propertyGroups = new PropertyGroupCollection(); _propertyGroups = new PropertyGroupCollection();
_propertyTypes = new PropertyTypeCollection(); _propertyTypes = new PropertyTypeCollection();
_propertyTypes.CollectionChanged += PropertyTypesChanged;
_additionalData = new Dictionary<string, object>(); _additionalData = new Dictionary<string, object>();
} }
@@ -433,8 +435,7 @@ namespace Umbraco.Core.Models
{ {
if (PropertyTypeExists(propertyType.Alias) == false) if (PropertyTypeExists(propertyType.Alias) == false)
{ {
_propertyTypes.Add(propertyType); _propertyTypes.Add(propertyType);
_propertyTypes.CollectionChanged += PropertyTypesChanged;
return true; return true;
} }

View File

@@ -1,5 +1,6 @@
using System.Linq; using System.Linq;
using NUnit.Framework; using NUnit.Framework;
using Umbraco.Core;
using Umbraco.Core.Models; using Umbraco.Core.Models;
using Umbraco.Core.Persistence; using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.Caching; using Umbraco.Core.Persistence.Caching;
@@ -45,9 +46,8 @@ namespace Umbraco.Tests.Persistence.Repositories
} }
[Test] [Test]
public void MemberRepository_Can_Persist_Member_Type() public void Can_Persist_Member_Type()
{ {
IMemberType sut;
var provider = new PetaPocoUnitOfWorkProvider(); var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork(); var unitOfWork = provider.GetUnitOfWork();
using (var repository = CreateRepository(unitOfWork)) using (var repository = CreateRepository(unitOfWork))
@@ -56,7 +56,7 @@ namespace Umbraco.Tests.Persistence.Repositories
repository.AddOrUpdate(memberType); repository.AddOrUpdate(memberType);
unitOfWork.Commit(); unitOfWork.Commit();
sut = repository.Get(memberType.Id); var sut = repository.Get(memberType.Id);
Assert.That(sut, Is.Not.Null); Assert.That(sut, Is.Not.Null);
Assert.That(sut.PropertyGroups.Count(), Is.EqualTo(1)); Assert.That(sut.PropertyGroups.Count(), Is.EqualTo(1));
@@ -68,7 +68,7 @@ namespace Umbraco.Tests.Persistence.Repositories
} }
[Test] [Test]
public void MemberRepository_Can_Get_All_Member_Types() public void Can_Get_All_Member_Types()
{ {
var provider = new PetaPocoUnitOfWorkProvider(); var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork(); var unitOfWork = provider.GetUnitOfWork();
@@ -92,48 +92,59 @@ namespace Umbraco.Tests.Persistence.Repositories
} }
[Test] [Test]
public void MemberRepository_Can_Get_All_Member_When_No_Properties() public void Can_Get_Member_Type_By_Id()
{ {
var provider = new PetaPocoUnitOfWorkProvider(); var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork(); var unitOfWork = provider.GetUnitOfWork();
using (var repository = CreateRepository(unitOfWork)) using (var repository = CreateRepository(unitOfWork))
{ {
var memberType1 = MockedContentTypes.CreateSimpleMemberType(); IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
memberType1.PropertyTypeCollection.Clear(); repository.AddOrUpdate(memberType);
repository.AddOrUpdate(memberType1);
unitOfWork.Commit(); unitOfWork.Commit();
memberType = repository.Get(memberType.Id);
var memberType2 = MockedContentTypes.CreateSimpleMemberType(); Assert.That(memberType, Is.Not.Null);
memberType2.PropertyTypeCollection.Clear();
memberType2.Name = "AnotherType";
memberType2.Alias = "anotherType";
repository.AddOrUpdate(memberType2);
unitOfWork.Commit();
var result = repository.GetAll();
//there are 3 because of the Member type created for init data
Assert.AreEqual(3, result.Count());
} }
} }
[Test, NUnit.Framework.Ignore] [Test]
public void MemberTypeRepository_Can_Get_MemberType_By_Id() public void Built_In_Member_Type_Properties_Are_Automatically_Added_When_Creating()
{ {
var provider = new PetaPocoUnitOfWorkProvider(); var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork(); var unitOfWork = provider.GetUnitOfWork();
using (var repository = CreateRepository(unitOfWork)) using (var repository = CreateRepository(unitOfWork))
{ {
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
var memberType = repository.Get(1340);
Assert.That(memberType, Is.Not.Null);
Assert.That(memberType.PropertyTypes.Count(), Is.EqualTo(13));
Assert.That(memberType.PropertyGroups.Any(), Is.False);
repository.AddOrUpdate(memberType); repository.AddOrUpdate(memberType);
unitOfWork.Commit(); unitOfWork.Commit();
Assert.That(memberType.PropertyTypes.Any(x => x.HasIdentity == false), Is.False);
memberType = repository.Get(memberType.Id);
Assert.That(memberType.PropertyTypes.Count(), Is.EqualTo(3 + Constants.Conventions.Member.StandardPropertyTypeStubs.Count));
Assert.That(memberType.PropertyGroups.Count(), Is.EqualTo(1));
}
}
[Test]
public void Can_Delete_MemberType()
{
// Arrange
var provider = new PetaPocoUnitOfWorkProvider();
var unitOfWork = provider.GetUnitOfWork();
using (var repository = CreateRepository(unitOfWork))
{
// Act
IMemberType memberType = MockedContentTypes.CreateSimpleMemberType();
repository.AddOrUpdate(memberType);
unitOfWork.Commit();
var contentType2 = repository.Get(memberType.Id);
repository.Delete(contentType2);
unitOfWork.Commit();
var exists = repository.Exists(memberType.Id);
// Assert
Assert.That(exists, Is.False);
} }
} }
} }