コード例 #1
0
        public void FindBookQueryHandler_Should_ReturnTheCorrectItem()
        {
            using (var mock = AutoMock.GetStrict())
            {
                // Arrange
                const int bookId = 1;
                _fixture.DbSetMock
                .Setup(_ => _.Find(It.IsAny <object[]>()))
                .Returns(_fixture.BookDomainModels.FirstOrDefault());

                mock.Provide(_fixture.DbContextMock.Object);
                mock.Provide(_fixture.MapperMock.Object);

                var handler = mock.Create <FindBookQueryHandler>();
                var query   = new FindBookQuery {
                    Predicate = model => model.Id == bookId
                };

                // Act
                var result = handler.Handle(query);

                // Assert
                Assert.NotNull(result);
                var book = Assert.IsAssignableFrom <BookReadModel>(result);
                Assert.Equal(bookId, book.Id);
            }
        }
コード例 #2
0
        public async Task <BookReadModel> FindBy(Predicate <BookReadModel> predicate)
        {
            var query = new FindBookQuery {
                Predicate = predicate
            };
            var book = await Task.Run(() => _queryProcessor.Process(query));

            return(book);
        }