public async Task <SignerCreateResponse> Create([FromQuery] SignerCreate signerCreate) { var componentValidator = new ComponentValidator(_alfrescoHttpClient); await signerCreate.ComponentId.ForEachAsync(async x => await componentValidator.ValidateAsync(new DocumentProperties(x))); return(await _signerService.CreateXml(_apiConfiguration.Url, signerCreate.DocumentId, signerCreate.ComponentId, signerCreate.Visual)); }
public async Task Should_create_validator_from_component_and_invoke() { var validator = A.Fake <IValidator>(); var componentData = JsonValue.Object(); var componentObject = new Component("type", componentData, new Schema("my-schema")); var isFactoryCalled = false; var sut = new ComponentValidator(_ => { isFactoryCalled = true; return(validator); }); await sut.ValidateAsync(componentObject, errors); Assert.True(isFactoryCalled); A.CallTo(() => validator.ValidateAsync(componentData, A <ValidationContext> ._, A <AddError> ._)) .MustHaveHappened(); }