Exemplo n.º 1
0
        public async Task EditPost_ReturnsARedirectAndUpdateSite_WhenModelStateIsValid()
        {
            // Arrange
            var mockRepo = new Mock <ISitesRepository>();

            mockRepo.Setup(repo => repo.GetSingleAsync(It.IsAny <int>())).Returns(Task.FromResult(new Sites()));
            mockRepo.Setup(repo => repo.UpdateAsync(It.IsAny <Sites>()))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var mockMapper = new Mock <IMapper <SiteEditViewModel, Sites> >();

            mockMapper.Setup(mapper => mapper.Map(It.IsAny <Sites>(), It.IsAny <SiteEditViewModel>()))
            .Returns(new Sites
            {
                CheckInterval = 100
            });

            var controller = new ManageController(mockRepo.Object, null, mockMapper.Object, null);
            var editModel  = new SiteEditViewModel();

            // Act
            var result = await controller.Edit(1, editModel);

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }
Exemplo n.º 2
0
 public ActionResult Edit(SiteEditViewModel model)
 {
     if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
     {
         var fileName  = this.Request.Files[0].FileName;
         var extension = Path.GetExtension(fileName);
         //delete the old file
         if (!model.Site.IsNew())
         {
             var oldImage     = _service.GetSite().Logo;
             var oldImagePath = this.Server.MapPath(String.Format("~/user_images/{0}", oldImage));
             if (System.IO.File.Exists(oldImagePath))
             {
                 System.IO.File.Delete(oldImagePath);
             }
         }
         model.Site.Logo = String.Format("{0}{1}", Guid.NewGuid(), extension);
         //resize
         using (var bitMap = ImageHelper.Instance().ResizeImage(Request.Files[0].InputStream, 20, 20))
         {
             var saveTo = this.Server.MapPath(String.Format("~/user_images/{0}", model.Site.Logo));
             bitMap.Save(saveTo);
         }
     }
     ;
     _service.SetSite(model.Site);
     TempData["message"] = "Site settings have been set";
     return(RedirectToAction("Index", "Home", new { id = model.NavigationModel.Page.PageNavigation.Id }));
 }
Exemplo n.º 3
0
        public async Task CreatePost_ReturnsARedirectAndAddsSite_WhenModelStateIsValid()
        {
            // Arrange
            var mockRepo = new Mock <ISitesRepository>();
            var mapper   = new SiteEditViewModelToSiteModelMapper();

            mockRepo.Setup(repo => repo.AddAsync(It.IsAny <Sites>()))
            .Returns(Task.CompletedTask)
            .Verifiable();
            var controller   = new ManageController(mockRepo.Object, null, mapper, null);
            var newEditModel = new SiteEditViewModel
            {
                Url             = "Url",
                IntervalSeconds = 10,
            };

            // Act
            var result = await controller.Create(newEditModel);

            // Assert
            var redirectToActionResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.Null(redirectToActionResult.ControllerName);
            Assert.Equal("Index", redirectToActionResult.ActionName);
            mockRepo.Verify();
        }
Exemplo n.º 4
0
        public async Task <IActionResult> Edit(int id, SiteEditViewModel editModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var site = await _sitesRepository.GetSingleAsync(id);

            if (site == null)
            {
                return(NotFound());
            }

            var siteModel = _editModelToModelMapper.Map(site, editModel);

            if (siteModel.CheckInterval < MinCheckTimeSeconds || siteModel.CheckInterval > MaxCheckTimeSeconds)
            {
                return(BadRequest());
            }

            await _sitesRepository.UpdateAsync(siteModel);

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 5
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            _viewModel = new SiteEditViewModel(e.Parameter as Site);
            MainPage mainPage = (Window.Current.Content as Frame).Content as MainPage;

            mainPage.NavigationViewLoadMenu(new List <NavigationViewItem>()
            {
                new NavigationViewItem()
                {
                    Icon = new FontIcon()
                    {
                        Glyph = "\xE8BB"
                    },
                    Content = "Close",
                    Tag     = "close"
                }
            }, async(sender, args) => {
                if ((string)(args.SelectedItem as NavigationViewItem).Tag == "close")
                {
                    await this.ClosePageAsync();
                }
            });

            base.OnNavigatedTo(e);
        }
Exemplo n.º 6
0
        public ActionResult Edit(int id)
        {
            var model = new SiteEditViewModel {
                Site = _service.GetSite()
            };

            model.NavigationModel = HomeIndexViewModelLoader.Create(id, _service);
            return(View(model));
        }
Exemplo n.º 7
0
        public async Task EditPost_ReturnsNotFoundResult_WhenSiteNotFound()
        {
            // Arrange
            var mockRepo = new Mock <ISitesRepository>();

            mockRepo.Setup(repo => repo.GetSingleAsync(It.IsAny <int>())).Returns(Task.FromResult <Sites>(null));
            var controller = new ManageController(mockRepo.Object, null, null, null);
            var editModel  = new SiteEditViewModel();

            // Act
            var result = await controller.Edit(1, editModel);

            // Assert
            Assert.IsType <NotFoundResult>(result);
        }
Exemplo n.º 8
0
        public async Task CreatePost_ReturnsBadRequestResult_WhenModelStateIsInvalid()
        {
            // Arrange
            var mockRepo   = new Mock <ISitesRepository>();
            var controller = new ManageController(mockRepo.Object, null, null, null);

            controller.ModelState.AddModelError("Url", "Required");
            var newEditModel = new SiteEditViewModel();

            // Act
            var result = await controller.Create(newEditModel);

            // Assert
            var badRequestResult = Assert.IsType <BadRequestObjectResult>(result);

            Assert.IsType <SerializableError>(badRequestResult.Value);
        }
Exemplo n.º 9
0
        public async Task <IActionResult> Create(SiteEditViewModel editModel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var siteModel = _editModelToModelMapper.Map(new Sites(), editModel);

            if (siteModel.CheckInterval < MinCheckTimeSeconds || siteModel.CheckInterval > MaxCheckTimeSeconds)
            {
                return(BadRequest());
            }

            await _sitesRepository.AddAsync(siteModel);

            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 10
0
        public async Task CreatePost_ReturnsBadRequestResult_WhenIntervalOutOFRange(int checkInterval)
        {
            // Arrange
            var mockRepo = new Mock <ISitesRepository>();

            var mockMapper = new Mock <IMapper <SiteEditViewModel, Sites> >();

            mockMapper.Setup(mapper => mapper.Map(It.IsAny <Sites>(), It.IsAny <SiteEditViewModel>()))
            .Returns(new Sites
            {
                CheckInterval = checkInterval
            });

            var controller   = new ManageController(mockRepo.Object, null, mockMapper.Object, null);
            var newEditModel = new SiteEditViewModel();

            // Act
            var result = await controller.Create(newEditModel);

            // Assert
            Assert.IsType <BadRequestResult>(result);
        }
Exemplo n.º 11
0
 protected override async Task OnInitializedAsync()
 {
     await SiteEditViewModel.OnInitializedAsync(SiteId);
 }