public async Task <IActionResult> Edit(int id, EventManagementDTO eventEdit) { if (id != eventEdit.Id) { return(RedirectToAction(nameof(Index))); } if (ModelState.IsValid) { try { if (eventEdit.File != null) { eventEdit.Photo = new Photo() { ImageLink = _imageUploadWrapper.Upload(eventEdit.File, _hostEnvironment) }; } var eventItem = _mapper.Map <Event>(eventEdit); _repositoryWrapper.Event.UpdateEvent(eventItem); await _repositoryWrapper.SaveAsync(); } catch (Exception ex) { _logger.LogError($"Concurrency Error when editing event : {eventEdit.Id}; EXCEPTION {ex}"); } return(RedirectToAction(nameof(Index))); } return(View(nameof(Edit), eventEdit)); }
public EditShould() { fixture = new SetupFixture(); env = new Mock <IHostEnvironment>(); imageUploadWrapper = new Mock <IImageUploadWrapper>(); imageUploadWrapper.Setup(x => x.Upload(It.IsAny <IFormFile>(), It.IsAny <IHostEnvironment>())) .Returns("imageurl"); env.Setup(m => m.EnvironmentName).Returns("Hosting:UnitTestEnvironment"); sut = new EventController(fixture.Logger.Object, fixture.repositoryWrapper.Object, fixture.mapper.Object, env.Object, imageUploadWrapper.Object); fixture.repositoryWrapper.Setup(x => x.Event.GetEventByIdAsync(It.IsAny <int>())).ReturnsAsync(new Event()); fixture.mapper.Setup(x => x.Map <EventManagementDTO>(It.IsAny <Event>())).Returns(new EventManagementDTO()).Verifiable(); eve = new EventManagementDTO() { Id = 1 }; }
public async Task <IActionResult> Create(EventManagementDTO eventDTO) { if (ModelState.IsValid) { eventDTO.Photo = new Photo() { ImageLink = _imageUploadWrapper.Upload(eventDTO.File, _hostEnvironment) }; _repositoryWrapper.Event.CreateEvent(_mapper.Map <Event>(eventDTO)); await _repositoryWrapper.SaveAsync(); return(RedirectToAction(nameof(Index))); } return(View(nameof(Create), eventDTO)); }
public async void ReturnViewIfModelStateInvalid() { sut.ModelState.AddModelError(string.Empty, "Invalid UploadEventDTO"); EventManagementDTO uploadEventDTO = new EventManagementDTO() { Active = true }; var result = await sut.Create(uploadEventDTO); var vr = Assert.IsType <ViewResult>(result); fixture.repositoryWrapper.Verify(x => x.Event.CreateEvent(It.IsAny <Event>()), Times.Never); fixture.repositoryWrapper.Verify(y => y.SaveAsync(), Times.Never); Assert.Equal("Create", vr.ViewName); Assert.IsType <EventManagementDTO>(vr.Model); }
public async void CallCreateEventInRepository() { EventManagementDTO uploadEventDTO = new EventManagementDTO() { Active = true, Photo = new Photo() { ImageLink = "sommelinkg" }, File = It.IsAny <IFormFile>() }; fixture.repositoryWrapper.Setup(x => x.Event.CreateEvent(It.IsAny <Event>())); var result = await sut.Create(uploadEventDTO); var vr = Assert.IsType <RedirectToActionResult>(result); fixture.repositoryWrapper.Verify(x => x.Event.CreateEvent(It.IsAny <Event>()), Times.Once); fixture.repositoryWrapper.Verify(y => y.SaveAsync(), Times.Once); Assert.Equal("Index", vr.ActionName); }