Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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)));
        }
Ejemplo n.º 3
0
        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);
                        }
                    }
                }
            }
        }
Ejemplo n.º 4
0
        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));
        }