From 9b864ddbeb82a947d638ab0c0d08704daeb3d0f4 Mon Sep 17 00:00:00 2001 From: Mole Date: Thu, 21 Apr 2022 13:51:24 +0200 Subject: [PATCH] Fix member properties always being sensitive (#12282) --- src/Umbraco.Core/Models/MemberType.cs | 2 +- .../Umbraco.Core/Models/ContentTypeTests.cs | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) 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();