mirror of https://github.com/abpframework/abp
Merge pull request #6876 from abpframework/dependent-features
Page Feature and dependent features implementationpull/6885/head
commit
f42193231d
@ -0,0 +1,29 @@
|
||||
using JetBrains.Annotations;
|
||||
using Volo.Abp.GlobalFeatures;
|
||||
|
||||
namespace Volo.CmsKit.GlobalFeatures
|
||||
{
|
||||
[GlobalFeatureName(Name)]
|
||||
public class PagesFeature:GlobalFeature
|
||||
{
|
||||
public const string Name = "CmsKit.Pages";
|
||||
|
||||
internal PagesFeature(
|
||||
[NotNull] GlobalCmsKitFeatures cmsKit
|
||||
) : base(cmsKit)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override void Enable()
|
||||
{
|
||||
var contentsFeature = FeatureManager.Modules.CmsKit().Contents;
|
||||
if (!contentsFeature.IsEnabled)
|
||||
{
|
||||
contentsFeature.Enable();
|
||||
}
|
||||
|
||||
base.Enable();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
using Shouldly;
|
||||
using Volo.Abp.GlobalFeatures;
|
||||
using Volo.CmsKit.GlobalFeatures;
|
||||
using Xunit;
|
||||
|
||||
namespace Volo.CmsKit.Features
|
||||
{
|
||||
public class GlobalCmsKitFeatures_Tests : CmsKitDomainTestBase
|
||||
{
|
||||
private readonly GlobalCmsKitFeatures _cmsKitFeatures;
|
||||
|
||||
public GlobalCmsKitFeatures_Tests()
|
||||
{
|
||||
_cmsKitFeatures = new GlobalCmsKitFeatures(GlobalFeatureManager.Instance);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Page_Feature_Should_Enable_Dependent_Features()
|
||||
{
|
||||
_cmsKitFeatures.DisableAll();
|
||||
_cmsKitFeatures.Contents.IsEnabled.ShouldBeFalse();
|
||||
_cmsKitFeatures.Pages.IsEnabled.ShouldBeFalse();
|
||||
|
||||
_cmsKitFeatures.Pages.Enable();
|
||||
|
||||
_cmsKitFeatures.Contents.IsEnabled.ShouldBeTrue();
|
||||
_cmsKitFeatures.Pages.IsEnabled.ShouldBeTrue();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in new issue