public ActionResult Put(int id, ProblemUserModel problem) { var result = _problemService.Edit(problem.ToModel(), id, AuthorId); if (!result) { return(BadRequest()); } return(Ok()); }
public void FileProblemEdit() { var fsNum1 = _fileDataService.GetFileSystemFilesCount(); var dbNum1 = _fileDataService.GetDataBaseFilesCount(); // Tworzymy nowy problem. var id = _problemService.Create(new Problem { Name = "xxx", Content = "![](a.png) ![](b.png) ![](c.png)", Files = new[] { new FileDataView { FileName = "a.png", FileBytes = Convert.FromBase64String("aaaa") }, new FileDataView { FileName = "b.png", FileBytes = Convert.FromBase64String("bbbb") }, new FileDataView { FileName = "c.png", FileBytes = Convert.FromBase64String("cccc") } } }).Id; var fsNum2 = _fileDataService.GetFileSystemFilesCount(); var dbNum2 = _fileDataService.GetDataBaseFilesCount(); Assert.Equal(fsNum1 + 3, fsNum2); Assert.Equal(dbNum1 + 3, dbNum2); // Wartości powinny być takie jak utworzone. var problem = _problemService.Get(id).ToView(); Assert.Equal(id, problem.Id); Assert.Equal("xxx", problem.Name); Assert.Contains("aaaa", problem.Content); Assert.Contains("bbbb", problem.Content); Assert.Contains("cccc", problem.Content); // Edytujemy wartości problemu. var problem2 = new ProblemUserModel { Name = "yyy", Content = "![](x.png) ![](y.png) ![](z.png)", Files = new[] { new FileDataView { FileName = "x.png", FileBytes = Convert.FromBase64String("xxxx") }, new FileDataView { FileName = "y.png", FileBytes = Convert.FromBase64String("yyyy") }, new FileDataView { FileName = "z.png", FileBytes = Convert.FromBase64String("zzzz") } } }; var res = _problemService.Edit(problem2.ToModel(), id); Assert.True(res); // Nowe wartości powinny być odpowiednie do wprowadzonych. var problem3 = _problemService.Get(id).ToView(); Assert.Equal(id, problem3.Id); Assert.Equal("yyy", problem3.Name); Assert.Contains("xxxx", problem3.Content); Assert.Contains("yyyy", problem3.Content); Assert.Contains("zzzz", problem3.Content); var fsNum3 = _fileDataService.GetFileSystemFilesCount(); var dbNum3 = _fileDataService.GetDataBaseFilesCount(); Assert.Equal(fsNum2, fsNum3); Assert.Equal(dbNum2, dbNum3); }