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