public async Task CorrectlyLoadAllDependenciesForLoadedCocktails_WhenCalledForHomePage()
        {
            var options             = TestUtils.GetOptions(nameof(CorrectlyLoadAllDependenciesForLoadedCocktails_WhenCalledForHomePage));
            var cocktailId          = "15";
            var barId               = "51";
            var barName             = "Fofo";
            var cocktailComponentId = "15";
            var ingredientId        = "15";
            var ingredientName      = "Bira";
            var newIngredient       = new Ingredient()
            {
                Id = ingredientId, Name = ingredientName
            };
            var newCocktailComponent = new CocktailComponent()
            {
                Id = cocktailComponentId, IngredientId = ingredientId, Ingredient = newIngredient
            };
            var listComponents = new List <CocktailComponent>();

            listComponents.Add(newCocktailComponent);
            var newBar = new Bar()
            {
                Id = barId, Name = barName
            };
            var newBarCocktail = new BarCocktail()
            {
                BarId = barId, Bar = newBar, CocktailId = cocktailId
            };
            var barCocktails = new List <BarCocktail>();

            barCocktails.Add(newBarCocktail);
            var newCocktail = new Cocktail()
            {
                Id           = cocktailId, CocktailComponents = listComponents,
                BarCocktails = barCocktails
            };

            using (var arrangeContext = new CMContext(options))
            {
                arrangeContext.Add(newIngredient);
                arrangeContext.Add(newBar);
                arrangeContext.Add(newBarCocktail);
                arrangeContext.Add(newCocktailComponent);
                arrangeContext.Add(newCocktail);
                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailServices(assertContext, _fileUploadService.Object,
                                               _ingredientServices.Object, _recipeServices.Object);
                var result = await sut.GetCocktailsForHomePage();

                Assert.AreEqual(cocktailId, result.ToList()[0].Id);
                Assert.AreEqual(barId, result.ToList()[0].BarCocktails[0].BarId);
                Assert.AreEqual(barName, result.ToList()[0].BarCocktails[0].Bar.Name);
                Assert.AreEqual(ingredientName, result.ToList()[0].Ingredients[0].Ingredient);
            }
        }
Пример #2
0
        public static CocktailComponentDTO MapToCocktailDto(this CocktailComponent cocktailComponent)
        {
            var cocktailComponentDto = new CocktailComponentDTO();

            cocktailComponentDto.Id           = cocktailComponent.Id;
            cocktailComponentDto.Ingredient   = cocktailComponent.Ingredient.Name;
            cocktailComponentDto.IngredientId = cocktailComponent.Ingredient.Id;
            cocktailComponentDto.CocktailId   = cocktailComponent.CocktailId;
            cocktailComponentDto.Quantity     = cocktailComponent.Quantity;
            cocktailComponentDto.Unit         = cocktailComponent.Unit;
            return(cocktailComponentDto);
        }
        public static CocktailComponent MapComponentsToModel(this CocktailComponentDTO cocktailDto)
        {
            var component = new CocktailComponent();

            component.IngredientId = cocktailDto.IngredientId;
            component.CocktailId   = cocktailDto.CocktailId;
            component.Cocktail     = cocktailDto.Cocktail;
            component.Unit         = cocktailDto.Unit;
            //component.Ingredient= cocktailDto.Ingredient;
            component.Quantity = cocktailDto.Quantity;
            component.Id       = cocktailDto.Id;
            return(component);
        }
Пример #4
0
        public static CocktailComponent MapToCocktailModel(this CocktailComponentDTO cocktailComponentDto)
        {
            var cocktailComponentModel = new CocktailComponent();

            cocktailComponentModel.IngredientId = cocktailComponentDto.IngredientId;
            cocktailComponentModel.CocktailId   = cocktailComponentDto.CocktailId;
            //cocktailComponentModel.Ingredient = cocktailComponentDto.Ingredient;
            //cocktailComponentModel.IngredientId = cocktailComponentDto.Ingredient;
            cocktailComponentModel.Quantity = cocktailComponentDto.Quantity;
            cocktailComponentModel.Unit     = cocktailComponentDto.Unit;
            //var ingr = new Ingredient { Name = cocktailComponentDto.Ingredient };
            //cocktailComponentModel.Ingredient = ingr;
            return(cocktailComponentModel);
        }
        public async Task CorrectlyLoadDependenciesForLoadedCocktail_WhenPassedIdIsCorrect()
        {
            var options             = TestUtils.GetOptions(nameof(CorrectlyLoadDependenciesForLoadedCocktail_WhenPassedIdIsCorrect));
            var cocktailId          = "15";
            var cocktailComponentId = "15";
            var ingredientId        = "15";
            var ingredientName      = "Bira";
            var newIngredient       = new Ingredient()
            {
                Id = ingredientId, Name = ingredientName
            };
            var newCocktailComponent = new CocktailComponent()
            {
                Id = cocktailComponentId, IngredientId = ingredientId, Ingredient = newIngredient
            };
            var listComponents = new List <CocktailComponent>();

            listComponents.Add(newCocktailComponent);
            var newCocktail = new Cocktail()
            {
                Id = cocktailId, CocktailComponents = listComponents
            };

            using (var arrangeContext = new CMContext(options))
            {
                arrangeContext.Add(newIngredient);
                arrangeContext.Add(newCocktailComponent);
                arrangeContext.Add(newCocktail);
                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailServices(assertContext, _fileUploadService.Object,
                                               _ingredientServices.Object, _recipeServices.Object);
                var result = await sut.GetCocktail(cocktailId);

                Assert.AreEqual(cocktailComponentId, result.CocktailComponents.ToList()[0].Id);
                Assert.AreEqual(ingredientId, result.CocktailComponents.ToList()[0].IngredientId);
                Assert.AreEqual(ingredientName, result.CocktailComponents.ToList()[0].Ingredient.Name);
            }
        }
Пример #6
0
        public async Task CorrectlyLoadAllDependenciesForLoadedCocktail_WhenPassedIdIsCorrect()
        {
            var options             = TestUtils.GetOptions(nameof(CorrectlyLoadAllDependenciesForLoadedCocktail_WhenPassedIdIsCorrect));
            var cocktailId          = "15";
            var barId               = "51";
            var barName             = "Fofo";
            var cocktailComponentId = "15";
            var ingredientId        = "15";
            var ingredientName      = "Bira";
            var newIngredient       = new Ingredient()
            {
                Id = ingredientId, Name = ingredientName
            };
            var newCocktailComponent = new CocktailComponent()
            {
                Id = cocktailComponentId, IngredientId = ingredientId, Ingredient = newIngredient
            };
            var listComponents = new List <CocktailComponent>();

            listComponents.Add(newCocktailComponent);
            var country = new Country()
            {
                Id = "1", Name = "Bulgaria"
            };
            var adress = new Address()
            {
                Id = "1", City = "Sofia", Country = country
            };
            var newBar = new Bar()
            {
                Id = barId, Name = barName, Address = adress
            };
            var newBarCocktail = new BarCocktail()
            {
                BarId = barId, Bar = newBar, CocktailId = cocktailId
            };
            var barCocktails = new List <BarCocktail>();

            barCocktails.Add(newBarCocktail);
            var newCocktail = new Cocktail()
            {
                Id = cocktailId,
                CocktailComponents = listComponents,
                BarCocktails       = barCocktails
            };

            using (var arrangeContext = new CMContext(options))
            {
                arrangeContext.Add(newIngredient);
                arrangeContext.Add(country);
                arrangeContext.Add(adress);
                arrangeContext.Add(newBar);
                arrangeContext.Add(newBarCocktail);
                arrangeContext.Add(newCocktailComponent);
                arrangeContext.Add(newCocktail);
                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailServices(assertContext, _fileUploadService.Object,
                                               _ingredientServices.Object, _recipeServices.Object);
                var result = await sut.FindCocktailById(cocktailId);

                Assert.AreEqual(barId, result.BarCocktails[0].BarId);
                Assert.AreEqual(barName, result.BarCocktails[0].Bar.Name);
                Assert.AreEqual("Sofia", result.BarCocktails[0].Bar.Address.City);
                Assert.AreEqual("Bulgaria", result.BarCocktails[0].Bar.Address.Country.Name);
                Assert.AreEqual(ingredientName, result.Ingredients[0].Ingredient);
            }
        }
        public async Task CorrectlyLoadAllDependenciesForCocktails_WhenCalled()
        {
            var sortOrder = "name_desc";
            var user      = new AppUser()
            {
                Id = "1", UserName = "******"
            };
            var review = new CocktailReview()
            {
                Id = "11", User = user, Rating = 10f
            };
            var reviews = new List <CocktailReview>();

            reviews.Add(review);
            var options             = TestUtils.GetOptions(nameof(CorrectlyLoadAllDependenciesForCocktails_WhenCalled));
            var cocktailId          = "15";
            var barId               = "51";
            var barName             = "Fofo";
            var cocktailComponentId = "15";
            var ingredientId        = "15";
            var ingredientName      = "Bira";
            var newIngredient       = new Ingredient()
            {
                Id = ingredientId, Name = ingredientName
            };
            var newCocktailComponent = new CocktailComponent()
            {
                Id = cocktailComponentId, IngredientId = ingredientId, Ingredient = newIngredient
            };
            var listComponents = new List <CocktailComponent>();

            listComponents.Add(newCocktailComponent);
            var newBar = new Bar()
            {
                Id = barId, Name = barName
            };
            var newBarCocktail = new BarCocktail()
            {
                BarId = barId, Bar = newBar, CocktailId = cocktailId
            };
            var barCocktails = new List <BarCocktail>();

            barCocktails.Add(newBarCocktail);
            var newCocktail = new Cocktail()
            {
                Id = cocktailId,
                CocktailComponents = listComponents,
                BarCocktails       = barCocktails,
                Reviews            = reviews
            };

            using (var arrangeContext = new CMContext(options))
            {
                arrangeContext.Add(user);
                arrangeContext.Add(review);
                arrangeContext.Add(newIngredient);
                arrangeContext.Add(newBar);
                arrangeContext.Add(newBarCocktail);
                arrangeContext.Add(newCocktailComponent);
                arrangeContext.Add(newCocktail);
                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new CocktailServices(assertContext, _fileUploadService.Object,
                                               _ingredientServices.Object, _recipeServices.Object);
                var result = await sut.GetFiveSortedCocktailsAsync(sortOrder);

                Assert.AreEqual(cocktailId, result.ToList()[0].Id);
                Assert.AreEqual(barId, result.ToList()[0].BarCocktails[0].BarId);
                Assert.AreEqual(barName, result.ToList()[0].BarCocktails[0].Bar.Name);
                Assert.AreEqual(ingredientName, result.ToList()[0].Ingredients[0].Ingredient);
                Assert.AreEqual("pesho", result.ToList()[0].CocktailReviews.ToList()[0].User.UserName);
                Assert.AreEqual(10, result.ToList()[0].CocktailReviews.ToList()[0].Rating);
            }
        }