public async Task GivenOnStrategy_WhenEvaluatingDraftFeature_ThenIThrow() { var query = new IsFeatureOnQuery() { Name = "name", Path = "path/", }; var features = new List <IFeature> { new Feature { Name = "name", Path = "path/", State = FeatureState.Draft, Strategies = new List <IFeatureStrategy>() { new FeatureStrategy { Name = "one", Value = "two" } } } }; var featuresAggregate = this.GivenIFeaturesAggregate() .WithFeatures(features); var strategyEvaluator = this.GivenIStrategyEvaluatorFactory() .WithOn(); await this .GivenHandler(featuresAggregate.Object, strategyEvaluator.Object) .WhenHandling(query) .ThenExceptionIsThrown <FeatureNotPublishedException>(); }
public async Task GivenOffStrategy_WhenEvaluating_ThenIGetOff() { var query = new IsFeatureOnQuery() { Name = "name", Path = "path/", }; var features = new List <IFeature> { new Feature { Name = "name", Path = "path/", State = FeatureState.Published, Strategies = new List <IFeatureStrategy>() { new FeatureStrategy { Name = "one", Value = "two" } } } }; var featuresAggregate = this.GivenIFeaturesAggregate() .WithFeatures(features); var strategyEvaluator = this.GivenIStrategyEvaluatorFactory() .WithOff(); await this .GivenHandler(featuresAggregate.Object, strategyEvaluator.Object) .WhenHandling(query) .ThenIGetIsOff(); }
public static Func <Task <bool> > WhenHandling( this IsFeatureOnQueryHandler handler, IsFeatureOnQuery query) { return(() => handler.Handle(query)); }