Beispiel #1
0
        public async Task SetupAsync()
        {
            _eventHandler        = A.Fake <IEventHandler <IWebRequest> >();
            _eventHandlerFactory = A.Fake <IEventHandlerFactory>();
            A.CallTo(() => _eventHandlerFactory.Create(A <IEnumerable <IEventHandlerSpecification <IWebRequest> > > ._)).Returns(_eventHandler);

            _predicate = A.Fake <Func <IWebRequestEvent, bool> >();
            var predicateSpec = A.Fake <IWebRequestPredicateSpecification>();

            A.CallTo(() => predicateSpec.Build()).Returns(_predicate);

            _responseFactory = A.Fake <Func <IWebResponse, Task> >();
            var responseSpec = A.Fake <IWebRequestResponseSpecification>();

            A.CallTo(() => responseSpec.BuildFactory()).Returns(_responseFactory);

            _handler     = A.Dummy <Func <IEventContext <IWebRequest>, CancellationToken, Task> >();
            _handlerSpec = A.Fake <IEventHandlerSpecification <IWebRequest> >();
            A.CallTo(() => _handlerSpec.Build()).Returns(_handler);

            _sut = new WebComponent();
            var configSpec = _sut.CreateConfigurationSpecification <WebComponentSpecification>(_eventHandlerFactory);

            configSpec.OnRequest(r =>
            {
                r.AddPredicateSpecification(predicateSpec);
                r.SetResponseSpecification(responseSpec);
                r.AddHandlerSpecification(_handlerSpec);
            });
            await configSpec.ApplyAsync();
        }
Beispiel #2
0
 public void AddHandlerSpecification(IEventHandlerSpecification <TEventData> spec)
 {
     _handlerSpecifications.Add(spec ?? throw new ArgumentNullException(nameof(spec)));
 }