public void CreatePicture_Should_Return_Null_If_Dto_Is_Null()
        {
            //Arrange
            var mock      = new Mock <IPictureRepository>();
            var myPicture = new PictureDTO
            {
                Id = 1,
                IsProfilePicture = true,
                Resto            = new RestoDTO(),
                Url = "www.myurl.com"
            };

            mock.Setup(x => x.Create(myPicture)).Returns(
                new PictureDTO
            {
                Id = 1,
                IsProfilePicture = true,
                Resto            = new RestoDTO(),
                Url = "www.myurl.com"
            }
                );

            PictureUC target = new PictureUC(mock.Object);

            //Act
            var result = target.AddPicture(null);

            //Assert
            Assert.IsNull(result);
        }
        public IActionResult CreatePicture(PictureBTO pictureBTO)
        {
            int idToReturn = pictureBTO.Resto.Id;


            if (!ModelState.IsValid)
            {
                return(View(pictureBTO));
            }

            //Check if there is already a profile picture for this restaurant
            if (pictureBTO.IsProfilePicture)
            {
                var profilePicture = pictureUC.GetProfilePicture(pictureBTO.Resto.Id);
                if (profilePicture != null)
                {
                    ViewData["Error"] = "You can't do that : You already have a profile picture for your restaurant";
                    return(View(pictureBTO));
                }
            }


            var result = pictureUC.AddPicture(pictureBTO);

            if (result == null)
            {
                return(RedirectToAction("Error", new { errorMessage = "We can't add this picture, please contact support" }));
            }
            return(RedirectToAction("GetAllPicturesByRestoId", new { Id = idToReturn }));
        }
        public void CreatePicture_Should_Return_Valid_Data()
        {
            //Arrange
            var mock      = new Mock <IPictureRepository>();
            var myPicture = new PictureDTO
            {
                Id = 1,
                IsProfilePicture = true,
                Resto            = new RestoDTO(),
                Url = "www.myurl.com"
            };

            mock.Setup(x => x.Create(myPicture)).Returns(
                new PictureDTO
            {
                Id = 1,
                IsProfilePicture = true,
                Resto            = new RestoDTO(),
                Url = "www.myurl.com"
            }
                );

            PictureUC target = new PictureUC(mock.Object);

            //Act
            var result = target.AddPicture(new PictureBTO
            {
                Id = 1,
                IsProfilePicture = true,
                Resto            = new RestoBTO(),
                Url = "www.myurl.com"
            });

            //Assert
            mock.Verify(u => u.Create(It.IsAny <PictureDTO>()), Times.Once());
        }