Пример #1
0
        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();
            }
        }
Пример #2
0
        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));
        }
Пример #3
0
        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();
        }