Browse Source

Pass configAction in generic HubConfigList.AddOrUpdate overload

pull/25676/head
maliming 3 months ago
parent
commit
598dc9006a
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  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)
{
AddOrUpdate(typeof(THub));
AddOrUpdate(typeof(THub), configAction);
}
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