public async Task Execute() { IValidationErrorCache validationErrorCache = new ValidationErrorCache(); var ruleSet = new List <IRule <string> > { new RuleOne(validationErrorCache), new RuleTwo(validationErrorCache) }; var ruleSetResolutionServiceMock = new Mock <IRuleSetResolutionService <IRule <string>, string> >(); ruleSetResolutionServiceMock.Setup(rs => rs.Resolve()).Returns(ruleSet); const string one = "one"; const string two = "two"; var validationItems = new List <string> { one, two }; var cancellationToken = CancellationToken.None; var ruleSetExecutionService = new RuleSetExecutionService <IRule <string>, string>(); var service = NewService(ruleSetResolutionServiceMock.Object, ruleSetExecutionService, validationErrorCache); (await service.ExecuteAsync(validationItems, cancellationToken)).Should().HaveCount(6); }
public async Task Execute() { var output = new List <string> { "1", "2", "3", "1", "2", "3" }; IValidationErrorCache <string> validationErrorCache = new ValidationErrorCacheGenericTest <string>(); var ruleSet = new List <IRule <string> > { new RuleOne(validationErrorCache), new RuleTwo(validationErrorCache) }; var ruleSetResolutionServiceMock = new Mock <IRuleSetResolutionService <string> >(); ruleSetResolutionServiceMock.Setup(rs => rs.Resolve()).Returns(ruleSet); const string one = "one"; const string two = "two"; var validationItems = new List <string> { one, two }; var validationItemProviderServiceMock = new Mock <IValidationItemProviderService <IEnumerable <string> > >(); validationItemProviderServiceMock.Setup(ps => ps.ProvideAsync(It.IsAny <CancellationToken>())).ReturnsAsync(validationItems); var ruleSetExecutionService = new RuleSetExecutionService <string>(); var service = NewService(ruleSetResolutionServiceMock.Object, validationItemProviderServiceMock.Object, ruleSetExecutionService, validationErrorCache); (await service.ExecuteAsync(new List <string>(), CancellationToken.None)).Should().BeEquivalentTo(output); }
public async Task Execute_FilteredValidationItems() { IValidationErrorCache <string> validationErrorCache = new ValidationErrorCacheGenericTest <string>(); var ruleSetResolutionServiceMock = new Mock <IRuleSetResolutionService <string> >(); ruleSetResolutionServiceMock.Setup(rs => rs.Resolve()).Returns(new List <IRule <string> >() { new RuleOne(validationErrorCache), new RuleTwo(validationErrorCache) }); var validationItemProviderServiceMock = new Mock <IValidationItemProviderService <IEnumerable <string> > >(); validationItemProviderServiceMock.Setup(ps => ps.ProvideAsync(It.IsAny <CancellationToken>())).ReturnsAsync(new List <string> { "NA" }); var ruleSetExecutionService = new RuleSetExecutionService <string>(); var service = NewService(ruleSetResolutionServiceMock.Object, validationItemProviderServiceMock.Object, validationErrorCache: validationErrorCache, ruleSetExecutionService: ruleSetExecutionService); var filtered = new List <string> { "RuleOne", "RuleTwo" }; (await service.ExecuteAsync(filtered, CancellationToken.None)).Should().BeEmpty(); }
public async Task Execute_NoValidationItems_Null() { var output = new List <string> { "1", "2", "3" }; IValidationErrorCache validationErrorCache = new ValidationErrorCache(); var ruleSetResolutionServiceMock = new Mock <IRuleSetResolutionService <IRule <string>, string> >(); ruleSetResolutionServiceMock.Setup(rs => rs.Resolve()).Returns(new List <IRule <string> >() { new RuleOne(validationErrorCache), new RuleTwo(validationErrorCache) }); var cancellationToken = CancellationToken.None; var ruleSetExecutionService = new RuleSetExecutionService <IRule <string>, string>(); var service = NewService(ruleSetResolutionServiceMock.Object, validationErrorCache: validationErrorCache, ruleSetExecutionService: ruleSetExecutionService); (await service.ExecuteAsync((IEnumerable <string>)null, cancellationToken)).Should().BeEmpty(); }