public Task ProcessTask(ConvertImgTask task) { var image = _imgRepository.GetImg(task.ImgId); var resultImg = task.Execute(image); var newProgress = ImgTaskProgress.FromTask(task); newProgress.ImgTaskState = ImgTaskState.Completed; _imgTaskProgress.UpdateTaskProgress(newProgress); var taskResult = ImgTaskResult.FromTask(task, resultImg.ImageStream, resultImg.Extension); _imgTaskResultRepository.UpdateTaskResult(taskResult); return(Task.CompletedTask); }
public void UpdateTaskResult_when_task_exists_updates_it() { var groupId = Guid.NewGuid(); var taskId = Guid.NewGuid(); var mapper = _container.Resolve <IMapper>(); var result = new ImgTaskResult(taskId, groupId, null, null); _dbContext.DbImgTaskResult.Add(mapper.Map <ImgTaskResult, DbImgTaskResult>(result)); _dbContext.SaveChanges(); var updated = new ImgTaskResult(taskId, groupId, new MemoryStream(new byte[] { 1, 2, 3 }), "png"); _imgTaskResultRepository.UpdateTaskResult(updated); var foundResult = _dbContext.DbImgTaskResult.Find(groupId, taskId); foundResult.Image.Length.Should().Be(3); foundResult.Should().BeEquivalentTo(updated, options => { return(options.Excluding(taskResult => taskResult.ImgStream)); }); }