public void Should_Cancel_A_Book() { CancelBookCommand command = new CancelBookCommand() { BookId = bookRepository.books[0].Id, UserId = userRepository.users[0].Id }; Assert.IsNotNull(_handler.Handler(command)); }
public ICommandResult Handler(CancelBookCommand command) { Book book = _bookRepository.GetById(command.BookId); if (!(book.User.Id == command.UserId)) { AddNotification("User", "O usuário não tem permissão para alterar essa reserva."); } book.Cancel(); AddNotifications(book.Notifications); if (!IsValid()) { return(null); } _bookRepository.UpdateStatus(book); return(new StandardBookCommandResult()); }