Browse Source

fix bug of FeatureManager.GetAllWithProviderAsync and add unittest

pull/6202/head
YinChang0626 6 years ago
committed by maliming
parent
commit
9b8ab09f23
  1. 6
      modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/FeatureManager.cs
  2. 11
      modules/feature-management/test/Volo.Abp.FeatureManagement.Domain.Tests/Volo/Abp/FeatureManagement/FeatureManager_Tests.cs

6
modules/feature-management/src/Volo.Abp.FeatureManagement.Domain/Volo/Abp/FeatureManagement/FeatureManager.cs

@ -84,9 +84,7 @@ namespace Volo.Abp.FeatureManagement
providers = providers.TakeWhile(c => c.Name == providerName); providers = providers.TakeWhile(c => c.Name == providerName);
} }
var providerList = providers.Reverse().ToList(); if (!providers.Any())
if (!providerList.Any())
{ {
return new List<FeatureNameValueWithGrantedProvider>(); return new List<FeatureNameValueWithGrantedProvider>();
} }
@ -96,7 +94,7 @@ namespace Volo.Abp.FeatureManagement
foreach (var feature in featureDefinitions) foreach (var feature in featureDefinitions)
{ {
var featureNameValueWithGrantedProvider = new FeatureNameValueWithGrantedProvider(feature.Name, null); var featureNameValueWithGrantedProvider = new FeatureNameValueWithGrantedProvider(feature.Name, null);
foreach (var provider in providerList) foreach (var provider in providers)
{ {
string pk = null; string pk = null;
if (provider.Compatible(providerName)) if (provider.Compatible(providerName))

11
modules/feature-management/test/Volo.Abp.FeatureManagement.Domain.Tests/Volo/Abp/FeatureManagement/FeatureManager_Tests.cs

@ -1,4 +1,5 @@
using System; using System;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Shouldly; using Shouldly;
using Volo.Abp.Features; using Volo.Abp.Features;
@ -19,7 +20,15 @@ namespace Volo.Abp.FeatureManagement
_featureChecker = GetRequiredService<IFeatureChecker>(); _featureChecker = GetRequiredService<IFeatureChecker>();
_currentTenant = GetRequiredService<ICurrentTenant>(); _currentTenant = GetRequiredService<ICurrentTenant>();
} }
[Fact]
public async Task Should_Get_A_Correct_FeatureValue_By_GetAllWithProviderAsync()
{
(await _featureManager.GetAllWithProviderAsync(
EditionFeatureValueProvider.ProviderName,
TestEditionIds.Enterprise.ToString()
)).FirstOrDefault(x=>x.Name== TestFeatureDefinitionProvider.ProjectCount)
.Value.ShouldBe("3");
}
[Fact] [Fact]
public async Task Should_Get_A_FeatureValue_For_A_Provider() public async Task Should_Get_A_FeatureValue_For_A_Provider()
{ {

Loading…
Cancel
Save