From 598dc9006a0be1683776ba8d2405027e10f35e02 Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 23 Jun 2026 18:15:01 +0800 Subject: [PATCH] Pass configAction in generic HubConfigList.AddOrUpdate overload --- .../Abp/AspNetCore/SignalR/HubConfigList.cs | 2 +- .../AspNetCore/SignalR/HubConfigList_Tests.cs | 32 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 framework/test/Volo.Abp.AspNetCore.SignalR.Tests/Volo/Abp/AspNetCore/SignalR/HubConfigList_Tests.cs diff --git a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs index 0f2a606038..e54734139c 100644 --- a/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs +++ b/framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs @@ -7,7 +7,7 @@ public class HubConfigList : List { public void AddOrUpdate(Action? configAction = null) { - AddOrUpdate(typeof(THub)); + AddOrUpdate(typeof(THub), configAction); } public void AddOrUpdate(Type hubType, Action? configAction = null) diff --git a/framework/test/Volo.Abp.AspNetCore.SignalR.Tests/Volo/Abp/AspNetCore/SignalR/HubConfigList_Tests.cs b/framework/test/Volo.Abp.AspNetCore.SignalR.Tests/Volo/Abp/AspNetCore/SignalR/HubConfigList_Tests.cs new file mode 100644 index 0000000000..0265388ab2 --- /dev/null +++ b/framework/test/Volo.Abp.AspNetCore.SignalR.Tests/Volo/Abp/AspNetCore/SignalR/HubConfigList_Tests.cs @@ -0,0 +1,32 @@ +using System.Linq; +using Shouldly; +using Volo.Abp.AspNetCore.SignalR.SampleHubs; +using Xunit; + +namespace Volo.Abp.AspNetCore.SignalR; + +public class HubConfigList_Tests +{ + [Fact] + public void Should_Apply_ConfigAction_For_Generic_Overload() + { + var list = new HubConfigList(); + + list.AddOrUpdate(config => config.RoutePattern = "/custom-route"); + + var hubConfig = list.Single(c => c.HubType == typeof(RegularHub)); + hubConfig.RoutePattern.ShouldBe("/custom-route"); + } + + [Fact] + public void Should_Update_Existing_Hub_For_Generic_Overload() + { + var list = new HubConfigList(); + + list.AddOrUpdate(); + list.AddOrUpdate(config => config.RoutePattern = "/custom-route"); + + list.Count.ShouldBe(1); + list.Single(c => c.HubType == typeof(RegularHub)).RoutePattern.ShouldBe("/custom-route"); + } +}