public void Return_BarCtxModel_WhenValidValuesPassed()
        {
            var barDto = new BarDTO
            {
                Id       = barId,
                Name     = barName,
                Website  = barWebsite,
                BarImage = new Mock <IFormFile>().Object
            };
            var bar = barDto.MapBarDTOToBar();

            Assert.IsInstanceOfType(bar, typeof(Bar));
        }
        public void AssignCorrectValues_OfCtxModel()
        {
            var barDto = new BarDTO
            {
                Id       = barId,
                Name     = barName,
                Website  = barWebsite,
                BarImage = new Mock <IFormFile>().Object
            };
            var bar = barDto.MapBarDTOToBar();

            Assert.AreEqual(barDto.Id, bar.Id);
            Assert.AreEqual(barDto.Name, bar.Name);
            Assert.AreEqual(barDto.Website, bar.Website);
        }
        public async Task <string> AddBarAsync(BarDTO barDTO) //tested
        {
            barDTO.ValidateIfNull(ExceptionMessages.BarDtoNull);
            barDTO.ImageUrl = _fileUploadService.SetUniqueImagePathForBar(barDTO.BarImage);

            var newBar     = barDTO.MapBarDTOToBar();              // to be tested in MapperTests
            var newAddress = barDTO.MapBarDTOToAddress();          // to be tested in MapperTests

            newBar.Address = newAddress;
            _context.Bars.Add(newBar);
            await _context.SaveChangesAsync();

            var coctailsInBar = barDTO.Cocktails.Select(c => c.MapToCocktailModel()).ToList();

            foreach (var cocktail in coctailsInBar)
            {
                AddCocktailToBar(cocktail, newBar);
            }

            await _context.SaveChangesAsync();

            return(newBar.Name);
        }