public async Task EditKata_WhenCalled_ExpectToEditAKata() { // Arrange var sut = CreateSut(); var idValue = new Guid("e7c51c3a-3f56-40a7-832c-96246fdfe986"); var mockFile = new Mock <IFormFile>(); mockFile.Setup(_ => _.FileName).Returns("TestFile.txt"); var kataTobeEdited = new KataEditModel { Title = "NewTitle", Description = "DescriptionA", File = new List <IFormFile> { mockFile.Object } }; Mock.Katas[0].Description = kataTobeEdited.Description; Mock.Katas[0].Title = kataTobeEdited.Title; // Act await sut.Edit(idValue, Mock.Katas[0], kataTobeEdited); // Assert Assert.AreEqual(Mock.Katas[0].Description, "DescriptionA"); }
public async Task <IActionResult> Edit(Guid id, [Bind("Title,Description,File")] KataEditModel kataModel) { var kataEdited = _service.GetKataById(id); if (kataEdited == null) { return(NotFound()); } if (!ModelState.IsValid) { return(View(kataModel)); } kataEdited.Title = kataModel.Title; kataEdited.Description = kataModel.Description; try { await _service.Edit(id, kataEdited, kataModel); } catch (DbUpdateConcurrencyException) { if (!KataExists(_service.GetKataById(id).Id)) { return(NotFound()); } throw; } return(RedirectToAction(nameof(Index))); }
public async Task Edit(Guid id, Kata kataEdited, KataEditModel kataModel) { _repository.EditKata(kataEdited); if (kataModel.File != null) { foreach (var file in kataModel.File) { if (file.Length > 0) { var path = Path.Combine(_env.WebRootPath, "Katas/" + id); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } using (var fileStream = new FileStream(Path.Combine(path, file.FileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } } } } }
public IActionResult Edit(Guid?id) { if (id == null) { return(NotFound()); } var kata = _service.GetKataById(id.Value); if (kata == null) { return(NotFound()); } var kataEditModel = new KataEditModel( kata.Title, kata.Description ); return(View(kataEditModel)); }