public void FeaturesService_DefaultConstructor_InitializationPassed()
        {
            // Act
            var service = new FeaturesService();

            // Asserts
            Assert.IsNotNull(service);
        }
        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]);
        }
 public void FeaturesService_Constructor_NullAsyncCache_ArgumentNullExceptionIsExpected()
 {
     var dummy = new FeaturesService(_featuresRepositoryMock.Object, _licenseHelperMock.Object, null);
 }
 public void FeaturesService_Constructor_NullFeaturesRepository_ArgumentNullExceptionIsExpected()
 {
     var dummy = new FeaturesService(null, _licenseHelperMock.Object, AsyncCache.NoCache);
 }