Example #1
0
 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));
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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());