public async void UpdateBookDetail_Success()
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(a => a.SaveAsync());
            var mockDb = _repositoryMock as MockBookRepository <Book>;
            var book   = new Book("test1", "author 1", 100);

            mockDb.Table.Add(book.Id, book);

            var updateBookDetailCommandHandler = new UpdateBookDetailCommandHandler(_repositoryMock, mockUnitOfWork.Object);
            var updateBookDetail = new UpdateBookDetailCommand
            {
                Id   = book.Id,
                Name = "test2",
                Text = "Test Author",
            };

            await updateBookDetailCommandHandler.HandleAsync(updateBookDetail);

            var row = mockDb.Table[book.Id];

            Assert.Equal(updateBookDetail.Name, row.Name);
            Assert.Equal(updateBookDetail.Text, row.Text);
        }
示例#2
0
        public async Task <IActionResult> UpdateBookDetailCommand([FromBody] UpdateBookDetailCommand command)
        {
            _logger.LogInformation("Updating book details {0}", command.Name);
            await _mediator.DispatchAsync(command);

            _logger.LogInformation("Book {0} successfully updated", command.Name);
            return(Ok());
        }
        public async void UpdateBookDetail_Fail(string name, string text)
        {
            var mockUnitOfWork = new Mock <IUnitOfWork>();

            mockUnitOfWork.Setup(a => a.SaveAsync());
            var mockDb = _repositoryMock as MockBookRepository <Book>;
            var book   = new Book("test1", "author 1", 100);

            mockDb.Table.Add(book.Id, book);

            var updateBookDetailCommandHandler = new UpdateBookDetailCommandHandler(_repositoryMock, mockUnitOfWork.Object);
            var updateBookDetail = new UpdateBookDetailCommand
            {
                Id   = book.Id,
                Name = name,
                Text = text,
            };

            await Assert.ThrowsAsync <ValidateException>(() => updateBookDetailCommandHandler.HandleAsync(updateBookDetail));
        }