From 58f97db029effb539914aa63d28a994456d3bdc3 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 29 Jul 2026 17:56:47 +0800 Subject: [PATCH] Add source immutability test for Mapperly single-parameter Map --- .../MapExtraPropertiesDefaultSeed_Tests.cs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/MapExtraPropertiesDefaultSeed_Tests.cs b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/MapExtraPropertiesDefaultSeed_Tests.cs index 72af0dcebc..bc3ee341ae 100644 --- a/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/MapExtraPropertiesDefaultSeed_Tests.cs +++ b/framework/test/Volo.Abp.Mapperly.Tests/Volo/Abp/Mapperly/MapExtraPropertiesDefaultSeed_Tests.cs @@ -31,6 +31,21 @@ public class MapExtraPropertiesDefaultSeed_Tests : AbpIntegratedTest(entity); + + ReferenceEquals(entity.ExtraProperties, originalReference).ShouldBeTrue(); + entity.GetProperty("Tag").ShouldBe("ok"); + entity.GetProperty("CreatedBy").ShouldBe("leaked"); + } + [Fact] public void Single_Parameter_Map_Should_Not_Seed_Defaults_When_Destination_Disables_Them() { @@ -53,8 +68,7 @@ public class MapExtraPropertiesDefaultSeed_Tests : AbpIntegratedTest(entity); dto.GetProperty("Tag").ShouldBe("ok"); //Defined in both classes - dto.HasProperty("DtoOnly").ShouldBeTrue(); //Reset to the registered default value - dto.GetProperty("DtoOnly").ShouldBeNull(); //The source value must not leak + dto.GetProperty("DtoOnly").ShouldBeNull(); //Not defined in the source, the source value must not leak } [Fact]