Esempio n. 1
0
        public async Task CocktailExistsByName_True_whenExisting()
        {
            var options       = Utils.GetOptions(nameof(CocktailExistsByName_True_whenExisting));
            var mockMapper    = new Mock <ICocktailMapper>();
            var mockBarMapper = new Mock <IBarMapper>();

            var testCocktailName = "TestCocktailName";
            var cocktail         = new Cocktail()
            {
                Name = testCocktailName
            };

            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.SaveChangesAsync();
            }

            //Act and Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = await sut.CocktailExistsByNameAsync("TestCocktailName");

                Assert.IsTrue(result);
            }
        }
Esempio n. 2
0
        public async Task CocktailExists_True_whenExisting()
        {
            var options        = Utils.GetOptions(nameof(CocktailExists_True_whenExisting));
            var testCocktailId = Utils.MySampleGuid();
            var cocktail       = new Cocktail()
            {
                Id = testCocktailId
            };

            var mockMapper = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.SaveChangesAsync();
            }

            //Act and Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = sut.CocktailExists(testCocktailId);
                Assert.IsTrue(result);
            }
        }
Esempio n. 3
0
        public async Task AddIngredientsToCocktail_True_whenValid()
        {
            var options = Utils.GetOptions(nameof(AddIngredientsToCocktail_True_whenValid));

            var cocktail = new Cocktail()
            {
                Id = Utils.MySampleGuid(),
            };
            var ingredientId = Utils.MySampleGuid2();
            var mockMapper   = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
            }

            using (var context = new BCcontext(options))
            {
                var sut    = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);
                var result = await sut.AddIngredientsToCocktail(cocktail, ingredientId, 2);

                Assert.IsTrue(result);
            }
        }
Esempio n. 4
0
        public async Task RecoverCocktail_When_ItIsDeleted()
        {
            var testCocktailName = "TestCocktailName";
            var options          = Utils.GetOptions(nameof(RecoverCocktail_When_ItIsDeleted));

            var entityCocktail = new Cocktail()
            {
                Name      = testCocktailName,
                IsDeleted = true,
            };

            var dto = new CocktailDTO()
            {
                Name = testCocktailName,
            };

            var mockMapper = new Mock <ICocktailMapper>();

            mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <CocktailDTO>()))
            .Returns((CocktailDTO x) => new Cocktail()
            {
                Name = x.Name,
            });
            mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <Cocktail>()))
            .Returns((Cocktail x) => new CocktailDTO()
            {
                Name = x.Name,
            });

            var mockBarMapper = new Mock <IBarMapper>();


            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Cocktails
                .AddAsync(entityCocktail);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(actContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = sut.CreateAsync(dto);
                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(assertContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = await sut.CreateAsync(dto);

                Assert.AreEqual(1, assertContext.Cocktails.Count());

                Assert.IsNotNull(cocktail);
                Assert.AreEqual(testCocktailName, testCocktailName);
                Assert.IsFalse(cocktail.IsDeleted);
            }
        }
Esempio n. 5
0
        public async Task ReturnCorrect_whenValidCocktail()
        {
            var testCocktailName = "TestCocktailName";
            var options          = Utils.GetOptions(nameof(ReturnCorrect_whenValidCocktail));

            var cocktailId = Utils.MySampleGuid3();


            var entityCocktail = new Cocktail()
            {
                Id   = Utils.MySampleGuid(),
                Name = testCocktailName
            };

            var sampleCocktail = new Cocktail()
            {
                Id   = Utils.MySampleGuid2(),
                Name = "SampleCocktailName",
            };

            var mockMapper = new Mock <ICocktailMapper>();

            mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <CocktailDTO>()))
            .Returns((CocktailDTO x) => new Cocktail()
            {
                Name = x.Name,
            });
            mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <Cocktail>()))
            .Returns((Cocktail x) => new CocktailDTO()
            {
                Id   = x.Id,
                Name = x.Name,
            });

            var mockBarMapper = new Mock <IBarMapper>();


            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Cocktails
                .AddRangeAsync(entityCocktail, sampleCocktail);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(actContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = await sut.GetAsync(Utils.MySampleGuid());

                Assert.AreEqual(2, actContext.Cocktails.Count());
                Assert.IsNotNull(cocktail);
                Assert.AreEqual(entityCocktail.Id, cocktail.Id);
                Assert.AreEqual(testCocktailName, cocktail.Name);
            }
        }
Esempio n. 6
0
        public async Task DeleteCocktail_ShouldReturnTrue_when_ValidAsync()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(DeleteCocktail_ShouldReturnTrue_when_ValidAsync));

            var entity = new Cocktail
            {
                Id        = Utils.MySampleGuid(),
                Name      = "Mohito",
                IsDeleted = false,
            };

            var mockMapper = new Mock <ICocktailMapper>();

            mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <CocktailDTO>()))
            .Returns((CocktailDTO x) => new Cocktail()
            {
                Id         = x.Id,
                Name       = x.Name,
                TimesRated = x.TimesRated,
            });
            mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <Cocktail>()))
            .Returns((Cocktail x) => new CocktailDTO()
            {
                Id         = x.Id,
                Name       = x.Name,
                TimesRated = x.TimesRated,
            });

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
                arrangeContext.Cocktails.Add(entity);
                arrangeContext.SaveChanges();
            }

            //Act & Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = await sut.DeleteAsync(Utils.MySampleGuid());

                Assert.IsTrue(result);
            }
        }
Esempio n. 7
0
        public async Task CocktailExistsByName_False_whenNotExisting()
        {
            var options       = Utils.GetOptions(nameof(CocktailExistsByName_False_whenNotExisting));
            var mockMapper    = new Mock <ICocktailMapper>();
            var mockBarMapper = new Mock <IBarMapper>();


            //Act and Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = await sut.CocktailExistsByNameAsync("TestName");

                Assert.IsFalse(result);
            }
        }
Esempio n. 8
0
        public void DeleteCocktail_ReturnFalse_when_NotValidID()
        {
            //Arrange
            var options = Utils.GetOptions("DeleteCocktail_ReturnFalse_when_NotValidID");
            //var entity = new
            var mockMapper = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            //Act & Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = sut.DeleteAsync(Utils.MySampleGuid()).Result;

                Assert.IsFalse(result);
            }
        }
Esempio n. 9
0
        public async Task AddIngredientsToCocktail_False_whenNotValid()
        {
            var options = Utils.GetOptions(nameof(AddIngredientsToCocktail_False_whenNotValid));

            var cocktail = new Cocktail()
            {
                Id = Utils.MySampleGuid(),
            };

            var ingredient = new Ingredient()
            {
                Id = Utils.MySampleGuid2()
            };
            var entity = new CocktailIngredient()
            {
                IngredientId = ingredient.Id,
                Ingredient   = ingredient,
                CocktailId   = cocktail.Id,
                Cocktail     = cocktail,
                Parts        = 2
            };
            var mockMapper = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Ingredients.AddAsync(ingredient);

                await arrangeContext.CocktailIngredients.AddAsync(entity);

                await arrangeContext.SaveChangesAsync();
            }

            using (var context = new BCcontext(options))
            {
                var sut    = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);
                var result = await sut.AddIngredientsToCocktail(cocktail, ingredient.Id, 2);

                Assert.IsFalse(result);
            }
        }
Esempio n. 10
0
        public void CocktailExists_False_whenNotExisting()
        {
            var options        = Utils.GetOptions(nameof(CocktailExists_False_whenNotExisting));
            var testCocktailId = Utils.MySampleGuid();
            var mockMapper     = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
            }

            //Act and Assert
            using (var context = new BCcontext(options))
            {
                var sut = new CocktailsService(context, mockMapper.Object, mockBarMapper.Object);

                var result = sut.CocktailExists(testCocktailId);
                Assert.IsFalse(result);
            }
        }
        public async Task ReturnNull_noSearch_whenNoCocktails()
        {
            var options = Utils.GetOptions(nameof(ReturnNull_noSearch_whenNoCocktails));

            var mockMapper = new Mock <ICocktailMapper>();

            var mockBarMapper = new Mock <IBarMapper>();

            using (var arrangeContext = new BCcontext(options))
            {
            }

            using (var actContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(actContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = await sut.GetAllAsync("0", "12", "", "", false);

                Assert.IsNotNull(cocktail);
                Assert.AreEqual(0, actContext.Cocktails.Count());
            }
        }
Esempio n. 12
0
        public async Task CreateCocktail_When_ItDoesNotExist()
        {
            var testCocktailName = "TestCocktailName";
            var options          = Utils.GetOptions(nameof(CreateCocktail_When_ItDoesNotExist));

            var ingredient1 = new Ingredient()
            {
                Id          = Utils.MySampleGuid(),
                Name        = "SampleIngredientName",
                IsAlcoholic = true,
            };
            var ingredient2 = new Ingredient()
            {
                Id          = Utils.MySampleGuid2(),
                Name        = "SampleIngredientName",
                IsAlcoholic = true,
            };

            var entityCocktail = new Cocktail()
            {
                Name = "SampleCocktailName"
            };

            var mockMapper = new Mock <ICocktailMapper>();

            mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <CocktailDTO>()))
            .Returns((CocktailDTO x) => new Cocktail()
            {
                Name = x.Name,
            });
            mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <Cocktail>()))
            .Returns((Cocktail x) => new CocktailDTO()
            {
                Name = x.Name,
            });

            var mockBarMapper = new Mock <IBarMapper>();


            var dto = new CocktailDTO()
            {
                Name        = testCocktailName,
                IsAlcoholic = true,
                Ingredients = new List <CocktailIngredientDTO>()
                {
                    new CocktailIngredientDTO()
                    {
                        IngredientId = Utils.MySampleGuid3(),
                        Parts        = 2
                    }
                },
            };
            var ingredient = new Ingredient()
            {
                Id          = Utils.MySampleGuid3(),
                IsAlcoholic = true,
            };

            var sampleEntity = new Cocktail()
            {
                Name = "TestName", IsAlcoholic = false, IsDeleted = true
            };

            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Ingredients.AddAsync(ingredient);

                await arrangeContext.Cocktails
                .AddAsync(entityCocktail);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(actContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = sut.CreateAsync(dto);
                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new BCcontext(options))
            {
                Assert.AreEqual(2, assertContext.Cocktails.Count());
                var cocktail = await assertContext.Cocktails
                               .FirstOrDefaultAsync(x => x.Name == testCocktailName);

                Assert.IsNotNull(cocktail);
                Assert.AreEqual(testCocktailName, cocktail.Name);
                Assert.IsTrue(cocktail.IsAlcoholic);
            }
        }
        public async Task UpdateCocktail_When_Valid()
        {
            var testCocktailName = "TestCocktailName";
            var options          = Utils.GetOptions(nameof(UpdateCocktail_When_Valid));


            var entityCocktail = new Cocktail()
            {
                Id         = Utils.MySampleGuid(),
                Name       = testCocktailName,
                TimesRated = 3
            };

            var ingredient = new Ingredient()
            {
                Id          = Utils.MySampleGuid3(),
                IsAlcoholic = true,
            };

            var mockMapper = new Mock <ICocktailMapper>();

            mockMapper.Setup(x => x.MapDTOToEntity(It.IsAny <CocktailDTO>()))
            .Returns((CocktailDTO x) => new Cocktail()
            {
                Id         = x.Id,
                Name       = x.Name,
                TimesRated = x.TimesRated,
            });
            mockMapper.Setup(x => x.MapEntityToDTO(It.IsAny <Cocktail>()))
            .Returns((Cocktail x) => new CocktailDTO()
            {
                Id         = x.Id,
                Name       = x.Name,
                TimesRated = x.TimesRated,
            });
            var mockBarMapper = new Mock <IBarMapper>();


            var dto = new CocktailDTO()
            {
                Id          = Utils.MySampleGuid(),
                Name        = "NewCocktailName",
                IsAlcoholic = true,
                TimesRated  = 4,
                Ingredients = new List <CocktailIngredientDTO>()
                {
                    new CocktailIngredientDTO()
                    {
                        IngredientId = Utils.MySampleGuid3(),
                        Parts        = 2
                    }
                },
            };

            using (var arrangeContext = new BCcontext(options))
            {
                await arrangeContext.Ingredients.AddAsync(ingredient);

                await arrangeContext.Cocktails
                .AddAsync(entityCocktail);

                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new BCcontext(options))
            {
                var sut      = new CocktailsService(actContext, mockMapper.Object, mockBarMapper.Object);
                var cocktail = await sut.UpdateAsync(Utils.MySampleGuid(), dto);

                await actContext.SaveChangesAsync();
            }

            using (var assertContext = new BCcontext(options))
            {
                var cocktail = await assertContext.Cocktails
                               .FirstOrDefaultAsync(x => x.Id == Utils.MySampleGuid());

                Assert.IsNotNull(cocktail);
                Assert.AreEqual("NewCocktailName", cocktail.Name);
                Assert.AreEqual(dto.TimesRated, cocktail.TimesRated);
            }
        }