public void ReturnReditectToPictures_WhenModelStateIsValid() { // Arrange AddPictureViewModel viewModel = new AddPictureViewModel() { Description = "description" }; Picture picture = new Picture() { Description = "description" }; string redirectPage = "/pictures"; //this.mockedUserProvider.Setup(x => x.Username).Returns(username); //this.mockedUserProvider.Setup(x => x.UserId).Returns(userId); //this.mockedFileProvider.Setup(x => x.SavePhotoToFileSystem(It.IsAny<string>(), It.IsAny<string>())).Returns(path); //this.mockedUserService.Setup(x => x.GetUserByUsername(username)).Returns(new User()); this.mockedMappingService.Setup(x => x.Map <AddPictureViewModel, Picture>(viewModel)).Returns(picture); // Act & Assert this.controller.WithCallTo(x => x.UploadPicture(viewModel)) .ShouldRedirectTo(redirectPage); }
public ActionResult UploadPicture(AddPictureViewModel model) { string currentUserUsername = this.userProvider.Username; string userId = this.userProvider.UserId; var user = this.userService.GetUserById(userId); string filePath = PicturesFileLocation + currentUserUsername; model.ImagePath = this.fileProvider.SavePhotoToFileSystem(DefaultArticlePhoto, filePath); model.CreatorId = userId; model.CreatorUsername = currentUserUsername; model.CreatedOn = DateTime.Now; if (!this.ModelState.IsValid) { model.Countries = this.GetAllCountries(); return(this.View(model)); } var picture = this.mappingService.Map <AddPictureViewModel, Picture>(model); picture.Creator = user; this.pictureService.AddPicture(picture); return(this.Redirect(PicturesRedirect)); }
public async Task <IActionResult> Add(AddPictureViewModel addPictureViewModel) { if (!ModelState.IsValid) { return(View(addPictureViewModel)); } using (var httpClient = new HttpClient()) { var idToken = await HttpContext.GetTokenAsync("id_token"); var jObj = new JObject { { "url", addPictureViewModel.Url }, { "description", addPictureViewModel.Description } }; var httpRequest = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri($"{BASE_PICTURES_API_URL}"), Content = new StringContent(jObj.ToString(), Encoding.UTF8, "application/json") }; httpRequest.Headers.Add("Authorization", $"Bearer {idToken}"); var httpResult = await httpClient.SendAsync(httpRequest); } return(RedirectToAction("Index")); }
public ActionResult UploadPicture() { AddPictureViewModel model = new AddPictureViewModel(); model.Countries = this.GetAllCountries(); return(this.View(model)); }
public void ReturnViewWithCorrectProperties_WhenModelStateIsNotValid() { // Arrange AddPictureViewModel viewModel = new AddPictureViewModel() { Description = "description" }; IEnumerable <CountryViewModel> countries = new List <CountryViewModel>(); this.mockedCountryService.Setup(x => x.GetAllCountriesOrderedByName()).Returns(new List <Country>()); this.mockedMappingService.Setup(x => x.Map <IEnumerable <CountryViewModel> >(It.IsAny <IEnumerable <Country> >())).Returns(countries); this.controller.ModelState.AddModelError("test", "error"); // Act & Assert this.controller.WithCallTo(x => x.UploadPicture(viewModel)) .ShouldRenderDefaultView() .WithModel <AddPictureViewModel>(model => { CollectionAssert.AreEquivalent(countries, model.Countries); }); }