public void Setup()
        {
            _command = new CancelAppealCommand
            {
                ApplicationId = _applicationId,
                UserId        = "userId",
                UserName      = "******"
            };

            var appeal = new Appeal {
                Id = Guid.NewGuid(), ApplicationId = _applicationId
            };

            _appealRepository = new Mock <IAppealRepository>();
            _appealRepository.Setup(x => x.GetByApplicationId(_applicationId)).ReturnsAsync(appeal);
            _appealRepository.Setup(x => x.Remove(It.IsAny <Guid>()));

            var appealFiles = new List <AppealFile> {
                new AppealFile {
                    Id = Guid.NewGuid(), ApplicationId = _applicationId
                }
            };

            _appealFileRepository = new Mock <IAppealFileRepository>();
            _appealFileRepository.Setup(x => x.GetAllForApplication(_applicationId)).ReturnsAsync(appealFiles);
            _appealFileRepository.Setup(x => x.Remove(It.IsAny <Guid>()));

            _auditService = new Mock <IAuditService>();
            _auditService.Setup(x => x.StartTracking(UserAction.CancelAppeal, _command.UserId, _command.UserName));
            _auditService.Setup(x => x.AuditDelete(It.IsAny <AppealFile>()));
            _auditService.Setup(x => x.AuditDelete(It.IsAny <Appeal>()));

            _handler = new CancelAppealCommandHandler(_appealRepository.Object, _appealFileRepository.Object, _auditService.Object);
        }
        public async Task <IActionResult> CancelAppeal(Guid applicationId, [FromBody] CancelAppealRequest request)
        {
            var deletedSuccessfully = await _fileStorageService.DeleteApplicationDirectory(applicationId, ContainerType.Appeals, new CancellationToken());

            if (!deletedSuccessfully)
            {
                _logger.LogError($"Unable to delete appeal files for application: {applicationId}");
            }

            var command = new CancelAppealCommand
            {
                ApplicationId = applicationId,
                UserId        = request.UserId,
                UserName      = request.UserName
            };

            await _mediator.Send(command);

            return(new OkResult());
        }