Exemple #1
0
        public async Task Should_continue_pipeline_when_id_is_not_present()
        {
            Guid existingId = Guid.NewGuid();
            Mock <IItemService> itemService = new Mock <IItemService>();

            itemService
            .Setup(x => x.GetItemAsync(It.IsAny <Guid>()))
            .ReturnsAsync(() => null);

            ItemExistsAttribute.ItemExistsFilterImpl filter = new ItemExistsAttribute.ItemExistsFilterImpl(itemService.Object);


            ActionExecutingContext actionExecutedContext = new ActionExecutingContext(
                new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor()),
                new List <IFilterMetadata>(),
                new Dictionary <string, object>
            {
                { "id", existingId }
            }, new object());

            Mock <ActionExecutionDelegate> nextCallback = new Mock <ActionExecutionDelegate>();
            await Task.Run(() => filter.OnActionExecutionAsync(actionExecutedContext, nextCallback.Object).ShouldThrow <NotFoundException>());

            //nextCallback.Verify(executionDelegate => executionDelegate(), Times.Once);
        }
        public async Task should_continue_pipeline_when_id_is_present()
        {
            var id = Guid.NewGuid();

            var itemService = new Mock <IItemService>();

            itemService
            .Setup(_ => _.GetItemAsync(It.IsAny <GetItemRequest>()))
            .ReturnsAsync(new ItemResponse {
                Id = id
            });

            var filter = new ItemExistsAttribute.ItemExistsFilterImpl(itemService.Object);


            var actionExecutedContext = new ActionExecutingContext(
                new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor()),
                new List <IFilterMetadata>(),
                new Dictionary <string, object>
            {
                { "id", id }
            }, new object());

            var nextCallback = new Mock <ActionExecutionDelegate>();
            await filter.OnActionExecutionAsync(actionExecutedContext, nextCallback.Object);

            nextCallback.Verify(executionDelegate => executionDelegate(), Times.Once);
        }
Exemple #3
0
        public async Task should_continue_pipeline_when_id_is_not_present()
        {
            var existingId = Guid.NewGuid();
            var mediator   = new Mock <IMediator>();

            mediator
            .Setup(command => command.Send(It.IsAny <GetItemCommand>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => null);

            var filter = new ItemExistsAttribute.ItemExistsFilterImpl(mediator.Object);


            var actionExecutedContext = new ActionExecutingContext(
                new ActionContext(new DefaultHttpContext(), new RouteData(), new ActionDescriptor()),
                new List <IFilterMetadata>(),
                new Dictionary <string, object>
            {
                { "id", existingId }
            }, new object());

            var nextCallback = new Mock <ActionExecutionDelegate>();
            await filter.OnActionExecutionAsync(actionExecutedContext, nextCallback.Object);

            nextCallback.Verify(executionDelegate => executionDelegate(), Times.Never);
        }