public async Task <IEnumerable <MessageDto> > Handle(ListMessagesQuery request, CancellationToken cancellationToken) { return(await _messageBoardContext .Messages .Select(x => MessageDto.Create(x)) .ToListAsync(cancellationToken)); }
public MessagesController ( IMessageLinkBuilder linkBuilder, ActionExecutor actionExecutor, ListMessagesQuery listMessagesQuery, GetMessageQuery getMessageQuery, CreateMessageCommand createMessageCommand, UpdateMessageCommand updateMessageCommand, DeleteMessageCommand deleteMessageCommand ) { _linkBuilder = linkBuilder ?? throw new ArgumentNullException(nameof(linkBuilder)); _actionExecutor = actionExecutor ?? throw new ArgumentNullException(nameof(actionExecutor)); _listMessagesQuery = listMessagesQuery ?? throw new ArgumentNullException(nameof(listMessagesQuery)); _getMessageQuery = getMessageQuery ?? throw new ArgumentNullException(nameof(getMessageQuery)); _deleteMessageCommand = deleteMessageCommand ?? throw new ArgumentNullException(nameof(deleteMessageCommand)); _createMessageCommand = createMessageCommand ?? throw new ArgumentNullException(nameof(createMessageCommand)); _updateMessageCommand = updateMessageCommand ?? throw new ArgumentNullException(nameof(updateMessageCommand)); }
public async Task Should_return_empty_array_when_no_messages_exist() { // Arrange var messages = new List <BoardMessage>(); _mockedReadOnlyContext.Setup(x => x.Messages).Returns(messages.AsQueryable().BuildMock().Object); var query = new ListMessagesQuery(); var handler = new ListMessagesQueryHandler(_mockedReadOnlyContext.Object); // Act var messagesDto = await handler.Handle(query, default); // Assert Assert.Empty(messagesDto); _mockedReadOnlyContext.Verify(x => x.Messages, Times.Once); }
public async Task Should_return_non_empty_array_when_message_exists() { // Arrange var messages = new List <BoardMessage> { BoardMessage.Create("The message", Guid.NewGuid().ToString()) }; _mockedReadOnlyContext.Setup(x => x.Messages).Returns(messages.AsQueryable().BuildMock().Object); var query = new ListMessagesQuery(); var handler = new ListMessagesQueryHandler(_mockedReadOnlyContext.Object); // Act var messagesDto = await handler.Handle(query, default); // Assert Assert.NotEmpty(messagesDto); _mockedReadOnlyContext.Verify(x => x.Messages, Times.Once); }
public async Task Should_return_expected_number_of_items() { // Arrange var messages = new List <BoardMessage> { BoardMessage.Create("First message", Guid.NewGuid().ToString()), BoardMessage.Create("Second message", Guid.NewGuid().ToString()), BoardMessage.Create("Third message", Guid.NewGuid().ToString()) }; _mockedReadOnlyContext.Setup(x => x.Messages).Returns(messages.AsQueryable().BuildMock().Object); var query = new ListMessagesQuery(); var handler = new ListMessagesQueryHandler(_mockedReadOnlyContext.Object); // Act var messagesDto = await handler.Handle(query, default); // Assert Assert.NotEmpty(messagesDto); Assert.Equal(messages.Count, messagesDto.Count()); _mockedReadOnlyContext.Verify(x => x.Messages, Times.Once); }
public async Task <ApiResponse> ListMessages([FromBody] ListMessagesQuery query) { return(await _mediator.Send(query)); }
public void MySetup() => _query = new ListMessagesQuery(State, new MessagePaginator());