Exemple #1
0
        public async Task ShouldAddNewCoctailAndUploadPhotoToCloudinary()
        {
            //Arrange
            const int notAdded     = 0;
            const int userId       = 1;
            var       coctailToAdd = _fixture.Create <CoctailToAdd>();

            //Act
            const string photoName = "spider.png";
            string       path      = Path.Combine(Directory.GetCurrentDirectory(), photoName);

            byte[] destinationData;

            using (FileStream fs = new FileStream(photoName, FileMode.Open, FileAccess.Read))
            {
                destinationData = File.ReadAllBytes(path);
                fs.Read(destinationData, 0, System.Convert.ToInt32(fs.Length));
            }

            int idFromDatabase = await _coctailRepository.AddCoctail(coctailToAdd, userId);

            bool isUploaded = await _coctailRepository.AddPhotoToCocktail(destinationData, photoName, idFromDatabase);

            //Act
            Assert.NotEqual(notAdded, idFromDatabase);
            Assert.True(isUploaded);
        }
Exemple #2
0
        public async Task <ActionResult <bool> > AddPhotoToCoctail([FromForm] PhotoToAdd photoToAdd)
        {
            if (photoToAdd.File.Length > 0)
            {
                byte[] destinationData;
                string photoName = photoToAdd.File.FileName;

                using (var ms = new MemoryStream())
                {
                    await photoToAdd.File.CopyToAsync(ms);

                    destinationData = ms.ToArray();
                }

                return(await _coctailRepository.AddPhotoToCocktail(destinationData, photoName, photoToAdd.CocktailId));
            }

            return(BadRequest("Something went wrong..."));
        }