public async Task Remove_Appeal_File_Removes_Uploaded_File_From_Application()
        {
            var applicationId = AutoFixture.Create <Guid>();
            var fileId        = AutoFixture.Create <Guid>();

            var request = new RemoveAppealFileRequest
            {
                UserId   = AutoFixture.Create <string>(),
                UserName = AutoFixture.Create <string>()
            };

            _mediator.Setup(x => x.Send(It.IsAny <RemoveAppealFileCommand>(), It.IsAny <CancellationToken>())).ReturnsAsync(Unit.Value);

            var result = await _controller.RemoveAppealFile(applicationId, fileId, request);

            result.Should().BeOfType <OkResult>();

            _mediator.Verify(
                x => x.Send(It.Is <RemoveAppealFileCommand>(c =>
                                                            c.ApplicationId == applicationId &&
                                                            c.FileId == fileId &&
                                                            c.UserId == request.UserId &&
                                                            c.UserName == request.UserName),
                            It.IsAny <CancellationToken>()), Times.Once);
        }
        public async Task <IActionResult> RemoveAppealFile(Guid applicationId, Guid fileId, [FromBody] RemoveAppealFileRequest request)
        {
            var command = new RemoveAppealFileCommand
            {
                ApplicationId = applicationId,
                FileId        = fileId,
                UserId        = request.UserId,
                UserName      = request.UserName
            };

            await _mediator.Send(command);

            return(new OkResult());
        }