コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
        public ActionResult UploadPicture()
        {
            AddPictureViewModel model = new AddPictureViewModel();

            model.Countries = this.GetAllCountries();

            return(this.View(model));
        }
コード例 #5
0
        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);
            });
        }