public bool UpdateLastShown(string id)
        {
            bool       updated = false;
            AppMessage message = _messageController.GetMessage(id);

            if (message != null)
            {
                message.LastDisplayedDate = new DateAndTime(TimeAndDateUtility.GetCurrentDate(), TimeAndDateUtility.GetCurrentTime());

                updated = _messageController.EditMessage(message);
            }

            return(updated);
        }
Beispiel #2
0
    public async Task EditMessage_ShouldUpdateTheMessagesContent()
    {
        // Arrange
        const int       messageId = 1;
        EditMessageBody body      = new EditMessageBody {
            HtmlContent = "<p>hello world</p>"
        };

        _mediatorMock
        .Setup(m => m.Send(It.IsAny <MessageExistsQuery>(), It.IsAny <CancellationToken>()))
        .ReturnsAsync(true);

        _mediatorMock
        .Setup(m => m.Send(It.IsAny <IsAuthorOfMessageQuery>(), It.IsAny <CancellationToken>()))
        .ReturnsAsync(true);

        _mediatorMock
        .Setup(m => m.Send(It.IsAny <EditMessageCommand>(), It.IsAny <CancellationToken>()))
        .ReturnsAsync(Unit.Value);

        MessageController controller = new MessageController(null, _mediatorMock.Object);

        // Act
        ActionResult response = await controller.EditMessage(messageId, body);

        // Assert
        Assert.IsType <NoContentResult>(response);

        _mediatorMock.Verify(m => m.Send(It.IsAny <EditMessageCommand>(), It.IsAny <CancellationToken>()), Times.AtLeastOnce);
    }
Beispiel #3
0
    public async Task EditMessage_ShouldReturnForbiddenResult_WhenUserIsNotTheAuthorOfTheMessage()
    {
        // Arrange
        const int       messageId = 1;
        EditMessageBody body      = new EditMessageBody {
            HtmlContent = "<p>hello world</p>"
        };

        _mediatorMock
        .Setup(m => m.Send(It.IsAny <MessageExistsQuery>(), It.IsAny <CancellationToken>()))
        .ReturnsAsync(true);

        _mediatorMock
        .Setup(m => m.Send(It.IsAny <IsAuthorOfMessageQuery>(), It.IsAny <CancellationToken>()))
        .ReturnsAsync(false);

        MessageController controller = new MessageController(null, _mediatorMock.Object);

        // Act
        ActionResult response = await controller.EditMessage(messageId, body);

        // Assert
        ObjectResult result = Assert.IsType <ObjectResult>(response);

        ErrorResource error = Assert.IsType <ErrorResource>(result.Value);

        Assert.NotNull(error);
        Assert.Equal(StatusCodes.Status403Forbidden, error.StatusCode);
    }
Beispiel #4
0
    public async Task EditMessage_ShouldReturnBadRequestResult_WhenModelValidationFails()
    {
        // Arrange
        MessageController controller = new MessageController(null, null);

        controller.ModelState.AddModelError("", "");

        // Act
        ActionResult response = await controller.EditMessage(1, new EditMessageBody());

        // Assert
        Assert.IsType <BadRequestObjectResult>(response);
    }