diff --git a/src/Umbraco.Core/Models/MemberType.cs b/src/Umbraco.Core/Models/MemberType.cs index b55c598cac..30f7c1da65 100644 --- a/src/Umbraco.Core/Models/MemberType.cs +++ b/src/Umbraco.Core/Models/MemberType.cs @@ -161,7 +161,7 @@ namespace Umbraco.Cms.Core.Models } else { - var tuple = new MemberTypePropertyProfileAccess(false, false, true); + var tuple = new MemberTypePropertyProfileAccess(false, false, value); _memberTypePropertyTypes.Add(propertyTypeAlias, tuple); } } diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Models/ContentTypeTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Models/ContentTypeTests.cs index b939eb15a5..84d44133d2 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Models/ContentTypeTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Models/ContentTypeTests.cs @@ -310,6 +310,33 @@ namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Core.Models Debug.Print(json); } + [Test] + [TestCase(false, false, false)] + [TestCase(true, false, false)] + [TestCase(true, true, false)] + [TestCase(true, true, true)] + public void Can_Set_Is_Member_Specific_Property_Type_Options(bool isSensitive, bool canView, bool canEdit) + { + var propertyTypeAlias = "testType"; + MemberType memberType = BuildMemberType(); + var propertyType = new PropertyTypeBuilder() + .WithAlias("testType") + .Build(); + + memberType.AddPropertyType(propertyType); + + memberType.SetIsSensitiveProperty(propertyTypeAlias, isSensitive); + memberType.SetMemberCanViewProperty(propertyTypeAlias, canView); + memberType.SetMemberCanEditProperty(propertyTypeAlias, canEdit); + + Assert.Multiple(() => + { + Assert.AreEqual(isSensitive, memberType.IsSensitiveProperty(propertyTypeAlias)); + Assert.AreEqual(canView, memberType.MemberCanViewProperty(propertyTypeAlias)); + Assert.AreEqual(canEdit, memberType.MemberCanEditProperty(propertyTypeAlias)); + }); + } + private static MemberType BuildMemberType() { var builder = new MemberTypeBuilder();