Browse Source

Merge pull request #25676 from abpframework/maliming/fix-hubconfiglist-generic-configaction

Pass `configAction` in generic `HubConfigList.AddOrUpdate` overload
pull/25679/head
Engincan VESKE 3 months ago
committed by GitHub
parent
commit
5f78480676
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs
  2. 32
      framework/test/Volo.Abp.AspNetCore.SignalR.Tests/Volo/Abp/AspNetCore/SignalR/HubConfigList_Tests.cs

2
framework/src/Volo.Abp.AspNetCore.SignalR/Volo/Abp/AspNetCore/SignalR/HubConfigList.cs

@ -7,7 +7,7 @@ public class HubConfigList : List<HubConfig>
{ {
public void AddOrUpdate<THub>(Action<HubConfig>? configAction = null) public void AddOrUpdate<THub>(Action<HubConfig>? configAction = null)
{ {
AddOrUpdate(typeof(THub)); AddOrUpdate(typeof(THub), configAction);
} }
public void AddOrUpdate(Type hubType, Action<HubConfig>? configAction = null) public void AddOrUpdate(Type hubType, Action<HubConfig>? configAction = null)

32
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<RegularHub>(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<RegularHub>();
list.AddOrUpdate<RegularHub>(config => config.RoutePattern = "/custom-route");
list.Count.ShouldBe(1);
list.Single(c => c.HubType == typeof(RegularHub)).RoutePattern.ShouldBe("/custom-route");
}
}
Loading…
Cancel
Save