public static bool IsActive(string featureId, IQueryHandler <IsFeatureActiveQuery, IsFeatureActiveQueryResult, Feature> handler = null) { if (string.IsNullOrWhiteSpace(featureId)) { throw new ArgumentException("featureId must not be a null value."); } IsFeatureActiveQuery query = new IsFeatureActiveQuery(featureId); if (handler == null) { handler = new IsFeatureActiveQueryHandler(); handler.Config = new AppConfig(); IReadRepository <Feature> read = new MongoReadRepository <Feature>(); read.Initialize(handler.Config); handler.ReadRepository = read; IWriteRepository <Feature> write = new MongoWriteRepository <Feature>(); write.Initialize(handler.Config); handler.WriteRepository = write; } IsFeatureActiveQueryResult result = handler.Retrieve(query); return(result.IsFeatureActive); }
public void IsActive_Should_Return_Inactive_When_Feature_Is_Null() { var featureRepo = Substitute.For <IReadRepository <Feature> >(); var query = new IsFeatureActiveQueryHandler(); query.ReadRepository = featureRepo; string name = "test"; IList <Feature> features = new List <Feature>(); Feature feature = null; features.Add(feature); featureRepo.Where(x => x.Name == Arg.Any <string>()).ReturnsForAnyArgs(features); bool actual = Flag.IsActive(name, query); Assert.IsFalse(actual); }
public void IsActive_Should_Return_True_When_Feature_Is_Active() { var featureRepo = Substitute.For <IReadRepository <Feature> >(); var query = new IsFeatureActiveQueryHandler(); query.ReadRepository = featureRepo; string featureId = "1000"; string name = "test"; DateTime date = DateTime.Now; IList <Feature> features = new List <Feature>(); Feature feature = new Feature(featureId, date, name, "1", "F1", true); features.Add(feature); featureRepo.Where(x => x.Name == Arg.Any <string>()).ReturnsForAnyArgs(features); bool actual = Flag.IsActive(name, query); Assert.IsTrue(actual); }