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"); + } +}