public async Task Complex_Test_Scenario() { var standardEdition = await CreateEditionAsync("Standard"); var defaultTenant = GetDefaultTenant(); defaultTenant.EditionId = standardEdition.Id; await _tenantManager.UpdateAsync(defaultTenant); AbpSession.TenantId = defaultTenant.Id; //No value initially (await _editionManager.GetFeatureValueOrNullAsync(standardEdition.Id, AppFeatureProvider.MyBoolFeature)).ShouldBeNull(); (await _editionManager.GetFeatureValueOrNullAsync(standardEdition.Id, AppFeatureProvider.MyNumericFeature)).ShouldBeNull(); (await _tenantManager.GetFeatureValueOrNullAsync(defaultTenant.Id, AppFeatureProvider.MyBoolFeature)).ShouldBeNull(); (await _tenantManager.GetFeatureValueOrNullAsync(defaultTenant.Id, AppFeatureProvider.MyNumericFeature)).ShouldBeNull(); //Should get default values (await _featureChecker.IsEnabledAsync(AppFeatureProvider.MyBoolFeature)).ShouldBeFalse(); (await _featureChecker.GetValueAsync(AppFeatureProvider.MyNumericFeature)).ShouldBe("42"); //Set edition values await _editionManager.SetFeatureValueAsync(standardEdition.Id, AppFeatureProvider.MyBoolFeature, "true"); await _editionManager.SetFeatureValueAsync(standardEdition.Id, AppFeatureProvider.MyNumericFeature, "43"); //Should get new values for edition (await _editionManager.GetFeatureValueOrNullAsync(standardEdition.Id, AppFeatureProvider.MyNumericFeature)).ShouldBe("43"); (await _editionManager.GetFeatureValueOrNullAsync(standardEdition.Id, AppFeatureProvider.MyBoolFeature)).ShouldBe("true"); //Should get edition values for tenant (await _featureChecker.GetValueAsync(AppFeatureProvider.MyNumericFeature)).ShouldBe("43"); (await _featureChecker.IsEnabledAsync(AppFeatureProvider.MyBoolFeature)).ShouldBeTrue(); }
private bool IsEnabledInTenant(int tenantId, string argChildName) { var feature = AsyncHelper.RunSync(() => _tenantManager.GetFeatureValueOrNullAsync(tenantId, argChildName)); bool isBool; var boolVal = bool.TryParse(feature, out isBool); if (isBool) { return(boolVal); } return(feature != null); }