public async Task FeaturesService_GetFeaturesAsync_WorkflowLicenceMissing_WorkflowDisabled()
        {
            // Arrange
            SetupLicenseHelperMock(FeatureTypes.MicrosoftTfsIntegration);
            SetupFeaturesRepositoryMock();

            var service = new FeaturesService(
                _featuresRepositoryMock.Object,
                _licenseHelperMock.Object,
                AsyncCache.NoCache);

            // Act
            var actualFeatures = await service.GetFeaturesAsync();

            // Asserts
            Assert.IsNotNull(actualFeatures);
            Assert.IsTrue(actualFeatures.ContainsKey("Workflow"), "Cannot find Workflow");
            Assert.AreEqual(false, actualFeatures["Workflow"]);
        }
        public async Task FeaturesService_GetFeaturesAsync_CallToFeaturesRepository()
        {
            // Arrange
            const string featureName      = "TestFeature";
            const bool   isFeatureEnabled = true;

            SetupFeaturesRepositoryMock(CreateFeature(featureName, isFeatureEnabled));
            SetupLicenseHelperMock();

            var service = new FeaturesService(
                _featuresRepositoryMock.Object,
                _licenseHelperMock.Object,
                AsyncCache.NoCache);

            // Act
            var actualFeatures = await service.GetFeaturesAsync();

            // Asserts
            Assert.IsNotNull(actualFeatures);
            Assert.IsTrue(actualFeatures.ContainsKey(featureName), "Cannot find TestFeature");
            Assert.AreEqual(isFeatureEnabled, actualFeatures[featureName]);
        }