public void Handler_Should_Create_Book() { using (var mock = AutoMock.GetStrict()) { // Arrange mock.Mock <IDotNetCoreKatasDbContext>() .Setup(_ => _.Books) .Returns(new Mock <DbSet <BookDomainModel> >().Object); mock.Mock <IDotNetCoreKatasDbContext>() .Setup(_ => _.SaveChanges()) .Returns(1); var handler = mock.Create <RegisterBookCommandHandler>(); var command = new RegisterBookCommand { Id = 1 }; // Act var result = handler.Handle(command); // Assert Assert.NotNull(result); Assert.False(result.IsFaulted); mock.Mock <IDotNetCoreKatasDbContext>() .VerifyAll(); } }
public IActionResult RegisterBook([FromBody] RegisterBookModel model) { var command = new RegisterBookCommand(model.ISBN, model.Title, model.Author, model.Weight); var result = _messages.Dispatch(command); return(FromResult(result)); }
public ActionResult Post([FromBody] BookReadModel model) { var command = new RegisterBookCommand { Id = model.Id }; _commandAdapter.Dispatch(command); return(CreatedAtAction("Get", new { id = model.Id }, model)); }
public void BooksCommandAdapter_ShouldDispatch() { // Arrange Mock <IQueueClient> queueClient = new Mock <IQueueClient>(); ICommand command = new RegisterBookCommand(); var payload = JsonConvert.SerializeObject(command); var messageBytes = Encoding.UTF8.GetBytes(payload); //queueClient.Setup(_ => _.SendAsync(It.IsAny<Message>())); queueClient.Setup(_ => _.SendAsync(It.Is <Message>(m => m.Body.Length == messageBytes.Length))); IAzureServiceBusCommandAdapter commandAdapter = new AzureServiceBusCommandAdapter(queueClient.Object); // Act commandAdapter.Dispatch(command); // Assert queueClient.VerifyAll(); }