Esempio n. 1
0
        public async Task DeleteBar_Should_Delete_Correct()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(DeleteBar_Should_Delete_Correct));

            var country = new Country {
                Id = Guid.NewGuid(), Name = "Bulagria",
            };
            var bar = new Bar {
                Id = Guid.NewGuid(), Name = "Cosmos", CountryId = country.Id
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Countries.AddAsync(country);

                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.SaveChangesAsync();
            }

            //Act,Assert
            using (var assertContext = new CMContext(options))
            {
                var sut    = new BarServices(assertContext);
                var result = await sut.DeleteBar(bar.Id);

                Assert.AreEqual(true, result.IsDeleted);
            }
        }
Esempio n. 2
0
        public void ReturnCollectionOfCorrectBars()
        {
            // Arrange
            var options = TestUtilities.GetOptions(nameof(ReturnCollectionOfCorrectBars));


            // Act, Assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut  = new BarServices(assertContext);
                var bar1 = new Bar
                {
                    Name = "FF1"
                };
                var bar2 = new Bar
                {
                    Name = "FF2"
                };

                assertContext.Bars.Add(bar1);
                assertContext.Bars.Add(bar2);
                assertContext.SaveChanges();

                var result = sut.GetMultipleBarsByNameAsync("F").GetAwaiter().GetResult();

                Assert.IsTrue(result.Count == 2 && result.Contains(bar1) && result.Contains(bar2));
            }
        }
Esempio n. 3
0
        public void ReturnCorrectBarsWithNameParam()
        {
            var    options     = TestUtilities.GetOptions(nameof(ReturnCorrectBarsWithNameParam));
            string name        = "test";
            string address     = "TestAddr";
            string phoneNumber = "number";
            var    bar         = new Bar
            {
                Id          = -1,
                Name        = "kon",
                Address     = address,
                PhoneNumber = phoneNumber,
            };
            var bar2 = new Bar
            {
                Id          = -2,
                Name        = name,
                Address     = address,
                PhoneNumber = phoneNumber,
            };

            using (var arrangeContext = new CocktailDB(options))
            {
                arrangeContext.Bars.AddAsync(bar).GetAwaiter();
                arrangeContext.Bars.AddAsync(bar2).GetAwaiter();
                arrangeContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut        = new BarServices(assertContext);
                var collection = sut.SearchBarsByMultipleCriteriaAsync("kon", null, null, false).GetAwaiter().GetResult();
                Assert.IsNotNull(collection);
                Assert.AreEqual(1, collection.Count);
            }
        }
        public async Task AddIngredientsToCocktail_Throws_When_NoCocktailFound()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(AddIngredientsToCocktail_Throws_When_NoCocktailFound));

            var ingredient = new Ingredient {
                Id = Guid.NewGuid(), Name = "Vodka"
            };
            var ingredient2 = new Ingredient {
                Id = Guid.NewGuid(), Name = "Rum"
            };
            var cocktailId = Guid.NewGuid();

            ICollection <Guid> ingredientsId = new List <Guid> {
                ingredient.Id, ingredient2.Id
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Ingredients.AddRangeAsync(ingredient, ingredient2);

                await arrangeContext.SaveChangesAsync();
            }
            //Act, Assert
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext);

                await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.AddCocktailsToBar(cocktailId, ingredientsId));
            }
        }
Esempio n. 5
0
        public void ReturnCollectionOf10NewestBarsOrderedAscending()
        {
            // Arrange
            var options = TestUtilities.GetOptions(nameof(ReturnCollectionOf10NewestBarsOrderedAscending));


            // Act, Assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut  = new BarServices(assertContext);
                var bar1 = new Bar
                {
                    Name      = "FF1",
                    CreatedOn = DateTime.Now
                };
                var bar2 = new Bar
                {
                    Name      = "FF2",
                    CreatedOn = DateTime.Now
                };

                assertContext.Bars.Add(bar1);
                assertContext.Bars.Add(bar2);
                assertContext.SaveChanges();

                var result = sut.LoadNewestBars().GetAwaiter().GetResult();

                Assert.IsTrue(result.Count == 2 && result[0] == bar1 && result[1] == bar2);
            }
        }
Esempio n. 6
0
        public async Task Invoke_SetImageMethod_WhenBarDtoImageIsValid()
        {
            var options = TestUtils.GetOptions(nameof(Invoke_SetImageMethod_WhenBarDtoImageIsValid));

            var fileService = new Mock <IFileUploadService>();

            fileService.Setup(f => f.SetUniqueImagePathForBar(null));

            using (var assertContext = new CMContext(options))
            {
                assertContext.Bars.Add(new Bar {
                    Id = "1", Name = "BashBar", Website = "abv.bg", Address = new Address {
                        City = "Sofia", Id = "1"
                    }
                });
                await assertContext.SaveChangesAsync();

                var sut = new BarServices(assertContext, fileService.Object);

                var barDto =
                    new BarDTO
                {
                    Id       = barId,
                    Name     = barName,
                    ImageUrl = "abv.bg",
                    Website  = barWebsite,
                    BarImage = new Mock <IFormFile>().Object,
                };
                await sut.Update(barDto);

                fileService.Verify(x => x.SetUniqueImagePathForBar(barDto.BarImage), Times.AtLeastOnce);
            }
        }
        public void ReturnCorrectBar()
        {
            var options = TestUtils.GetOptions(nameof(ReturnCorrectBar));

            var testBar = new Bar
            {
                Id          = 1,
                Name        = "Test",
                Address     = "Test",
                PhoneNumber = "Test",
            };

            // Act
            using (var actContext = new CocktailDB(options))
            {
                var sut = new BarServices(actContext);
                actContext.Bars.Add(testBar);
                actContext.SaveChangesAsync().GetAwaiter();
            }
            // Assert
            using (var assertContext = new CocktailDB(options))
            {
                var id     = 1;
                var sut    = new BarServices(assertContext);
                var result = sut.GetBarAsync(id).GetAwaiter().GetResult();
                Assert.IsTrue(assertContext.Bars.Contains(testBar));
                Assert.AreEqual(testBar.Id, result.Id);
            }
        }
Esempio n. 8
0
        public async Task Return_UpdatedBarName_WhenEverythingIsOk()
        {
            var options = TestUtils.GetOptions(nameof(Return_UpdatedBarName_WhenEverythingIsOk));

            var fileService = new Mock <IFileUploadService>();

            using (var assertContext = new CMContext(options))
            {
                assertContext.Bars.Add(new Bar {
                    Id = "1", Name = "BashBar", Website = "abv.bg", Address = new Address {
                        City = "Sofia", Id = "1"
                    }
                });
                await assertContext.SaveChangesAsync();

                var sut    = new BarServices(assertContext, fileService.Object);
                var result = await sut.Update(
                    new BarDTO
                {
                    Id       = "1",
                    Name     = barName,
                    Website  = barWebsite,
                    BarImage = new Mock <IFormFile>().Object,
                });

                Assert.AreEqual(barName, result);
            }
        }
Esempio n. 9
0
        public async Task UpdateBarProperties_AndSaveItToDb_WhenValidValuesPassed()
        {
            var options = TestUtils.GetOptions(nameof(UpdateBarProperties_AndSaveItToDb_WhenValidValuesPassed));

            var fileService = new Mock <IFileUploadService>();

            using (var assertContext = new CMContext(options))
            {
                var sut  = new BarServices(assertContext, fileService.Object);
                var file = new Mock <IFormFile>().Object;
                assertContext.Bars.Add(new Bar {
                    Id = "1", Name = "BashBar", Website = "abv.bg", Address = new Address {
                        City = "Sofia", Id = "1"
                    }
                });
                await assertContext.SaveChangesAsync();

                var result = await sut.Update(
                    new BarDTO
                {
                    Id       = "1",
                    Name     = barName,
                    Website  = barWebsite,
                    BarImage = file,
                });

                Assert.AreEqual(barName, assertContext.Bars.First().Name);
                Assert.AreEqual(barWebsite, assertContext.Bars.First().Website);
            }
        }
        public async Task CreateBar_Throws_When_NameIsNull()
        {
            //Arrange

            var options = Utils.GetOptions(nameof(CreateBar_Throws_When_NameIsNull));

            var bar = new Bar
            {
                Id   = Guid.NewGuid(),
                Name = "Cosmos"
            };

            var barDTO = new BarDTO
            {
                Id   = Guid.NewGuid(),
                Name = null
            };

            using (var arranegContext = new CMContext(options))
            {
                await arranegContext.Bars.AddAsync(bar);

                await arranegContext.SaveChangesAsync();
            }

            //Act,Assert
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext);

                await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.CreateBar(barDTO));
            }
        }
Esempio n. 11
0
        public async Task GetBar_Throws_When_IdIsNull()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(GetBar_Throws_When_IdIsNull));

            var bar = new Bar
            {
                Id      = Guid.Parse("cda3e6b5-c77c-4682-a7ff-73987919a059"),
                Name    = "Cosmos",
                Address = "Sofia",
                Rating  = 2,
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.SaveChangesAsync();
            }

            //Act, Assert

            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext);

                await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.GetBar(null));
            }
        }
        public void CorrectlyEditBar()
        {
            var options           = TestUtils.GetOptions(nameof(CorrectlyEditBar));
            var resultName        = "test1";
            var resultAddress     = "Mill Street";
            var resultPhoneNumber = "testNumber";
            var bar = new Bar
            {
                Id          = 1,
                Name        = "asd",
                Address     = "asd",
                PhoneNumber = "add",
                IsHidden    = false,
            };

            using (var actContext = new CocktailDB(options))
            {
                var sut = new BarServices(actContext);
                actContext.Bars.AddAsync(bar).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
                sut.EditBarAsync(bar, resultName, resultAddress, resultPhoneNumber, null, true).GetAwaiter();
            }
            using (var asertContext = new CocktailDB(options))
            {
                var sut       = new BarServices(asertContext);
                var resultBar = sut.GetBarAsync(bar.Id).GetAwaiter().GetResult();
                Assert.AreEqual(resultBar.Name, resultName);
                Assert.AreEqual(resultBar.Address, resultAddress);
                Assert.AreEqual(resultBar.PhoneNumber, resultPhoneNumber);
                Assert.IsTrue(resultBar.IsHidden);
            }
        }
Esempio n. 13
0
        public async Task UpdateDefaultImage_WhenBarDtoImagePathIsNull()
        {
            var options = TestUtils.GetOptions(nameof(UpdateDefaultImage_WhenBarDtoImagePathIsNull));

            var fileService = new Mock <IFileUploadService>();

            fileService.Setup(f => f.SetUniqueImagePathForBar(null)).Returns("/images/defaultBarImage.jpg");
            using (var assertContext = new CMContext(options))
            {
                assertContext.Bars.Add(new Bar {
                    Id = "1", Name = "BashBar", Website = "abv.bg", Address = new Address {
                        City = "Sofia", Id = "1"
                    }
                });
                await assertContext.SaveChangesAsync();

                var expectedPath = "/images/defaultBarImage.jpg";
                var sut          = new BarServices(assertContext, fileService.Object);
                var result       = await sut.Update(
                    new BarDTO
                {
                    Id      = "1",
                    Name    = barName,
                    Website = barWebsite,
                });

                Assert.AreEqual(expectedPath, assertContext.Bars.First().Image);
            }
        }
Esempio n. 14
0
        public void ReturnCollectionOfCorrectBars()
        {
            var options = TestUtilities.GetOptions(nameof(ReturnCollectionOfCorrectBars));

            // Act, Assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarServices(assertContext);
                var bar = new Bar
                {
                    Id          = 1,
                    Name        = "test",
                    Address     = "asasas",
                    PhoneNumber = "asd",
                };

                var bar1 = new Bar
                {
                    Id          = 2,
                    Name        = "test1",
                    Address     = "asasas",
                    PhoneNumber = "asd",
                };

                assertContext.Bars.Add(bar);
                assertContext.Bars.Add(bar1);
                assertContext.SaveChanges();

                var result = sut.GetCollectionAsync().GetAwaiter().GetResult();
                Assert.IsTrue(result.Count == 2 && result.Contains(bar) && result.Contains(bar1));
            }
        }
        public async Task MakeInstance_OfTypeBarService_IfValidValuesPassed()
        {
            var options = TestUtils.GetOptions(nameof(MakeInstance_OfTypeBarService_IfValidValuesPassed));

            var barService = new BarServices(new CMContext(options), new Mock <IFileUploadService>().Object);

            Assert.IsInstanceOfType(barService, typeof(BarServices));
        }
        public async Task ThrowCorrectMagicExeption_WhenBarDoesNotExist()
        {
            var options = TestUtils.GetOptions(nameof(ThrowCorrectMagicExeption_WhenBarDoesNotExist));

            var fileService = new Mock <IFileUploadService>();

            using (var arrangeContext = new CMContext(options))
            {
                //1
                arrangeContext.Cocktails.Add(new Cocktail {
                    Id = "1", Name = "cocktail"
                });

                arrangeContext.Bars.Add(
                    new Bar
                {
                    Id      = "3",
                    Name    = "Target",
                    Image   = "Snimka",
                    Website = "abv.bg",
                    Address = new Address
                    {
                        Id      = "3",
                        BarId   = "3",
                        Country = new Country
                        {
                            Id   = "3",
                            Name = "Bulgaria"
                        }
                    },

                    BarCocktails = new List <BarCocktail>
                    {
                        new BarCocktail
                        {
                            BarId      = "3",
                            CocktailId = "1"
                        }
                    }
                    ,
                    BarRating = 3
                });

                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext, fileService.Object);

                var ex = await Assert.ThrowsExceptionAsync <MagicException>(
                    async() => await sut.GetBar("4")
                    );

                Assert.AreEqual("Bar cannot be null!", ex.Message);
            }
        }
Esempio n. 17
0
        public void ThrowWhenParametersAreNull()
        {
            var options = TestUtilities.GetOptions(nameof(ReturnFirstCorrectName));

            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarServices(assertContext);
                Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.GetAsync(null));
            }
        }
        public async Task AddCocktailToBar_Throws_When_Cocktail_IsAreadyListed()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(AddCocktailToBar_Throws_When_Cocktail_IsAreadyListed));


            var bar = new Bar
            {
                Id      = Guid.NewGuid(),
                Name    = "Cosmos",
                Country = new Country
                {
                    Id   = Guid.NewGuid(),
                    Name = "Bulgaria"
                }
            };

            var cocktail = new Cocktail
            {
                Id   = Guid.NewGuid(),
                Name = "Manhattan",
            };

            var cocktailDTO = new CocktailDTO
            {
                Id   = cocktail.Id,
                Name = cocktail.Name,
            };

            var barCocktail = new BarCocktail
            {
                BarId      = bar.Id,
                CocktailId = cocktail.Id,
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.BarCocktails.AddAsync(barCocktail);

                await arrangeContext.SaveChangesAsync();
            }


            //Act,Assert
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext);

                await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => sut.AddCocktailToBar(bar.Id, cocktailDTO.Id));
            }
        }
Esempio n. 19
0
        public async Task Return_InstanceOfTypeDto_WhenValidIdPassed()
        {
            var options = TestUtils.GetOptions(nameof(Return_InstanceOfTypeDto_WhenValidIdPassed));

            var fileService = new Mock <IFileUploadService>();

            using (var arrangeContext = new CMContext(options))
            {
                //1
                arrangeContext.Cocktails.Add(new Cocktail {
                    Id = "1", Name = "cocktail"
                });

                arrangeContext.Bars.Add(
                    new Bar
                {
                    Id      = "3",
                    Name    = "Target",
                    Image   = "Snimka",
                    Website = "abv.bg",
                    Address = new Address
                    {
                        Id      = "3",
                        BarId   = "3",
                        Country = new Country
                        {
                            Id   = "3",
                            Name = "Bulgaria"
                        }
                    },

                    BarCocktails = new List <BarCocktail>
                    {
                        new BarCocktail
                        {
                            BarId      = "3",
                            CocktailId = "1"
                        }
                    }
                    ,
                    BarRating = 3
                });

                await arrangeContext.SaveChangesAsync();
            }
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext, fileService.Object);

                var result = await sut.GetBarByID("3");

                Assert.IsInstanceOfType(result, typeof(BarDTO));
            }
        }
        public void ThrowWhenBarIsNull()
        {
            var options = TestUtils.GetOptions(nameof(ThrowWhenBarIsNull));

            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarServices(assertContext);
                Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.CreateBarAsync(null)
                                                                    );
            }
        }
        public void ReturnFalseIfSuchBarDoesntExist()
        {
            var options = TestUtilities.GetOptions(nameof(ReturnFalseIfSuchBarDoesntExist));

            //act & assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarServices(assertContext);
                Assert.IsFalse(sut.BarWithThatNameExists("test").GetAwaiter().GetResult());
            }
        }
        public async Task RemoveCocktailFromBar_Throws_When_Cocktail_NotFound_AtThisBar()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(RemoveCocktailFromBar_Throws_When_Cocktail_NotFound_AtThisBar));


            var bar = new Bar
            {
                Id      = Guid.Parse("86cb5331-0035-4a52-b99b-08df779358e3"),
                Name    = "Cosmos",
                Country = new Country
                {
                    Id   = Guid.Parse("fb837576-a066-43a1-9812-3c1eac4d449c"),
                    Name = "Bulgaria"
                }
            };

            var cocktail = new Cocktail
            {
                Id   = Guid.Parse("bb4b4175-81c5-4828-bca4-3660f796eb3f"),
                Name = "Manhattan",
            };

            var cocktailDTO = new CocktailDTO
            {
                Id   = cocktail.Id,
                Name = cocktail.Name,
            };

            var barCocktail = new BarCocktail
            {
                Id         = Guid.Parse("ca28a84e-1885-4d1b-aee9-3ab4f9ade0f7"),
                CocktailId = cocktail.Id
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.BarCocktails.AddAsync(barCocktail);

                await arrangeContext.SaveChangesAsync();
            }

            //Act,Assert
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext);

                await Assert.ThrowsExceptionAsync <InvalidOperationException>(() => sut.RemoveCocktailFromBar(bar.Id, cocktailDTO.Id));
            }
        }
Esempio n. 23
0
        public async Task GetCocktailsForBar_Returns_Correct()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(GetCocktailsForBar_Returns_Correct));

            var bar = new Bar
            {
                Id      = Guid.NewGuid(),
                Name    = "Cosmos",
                Address = "Sofia",
                Rating  = 2,
                Country = new Country {
                    Name = "Bulgaria"
                }
            };
            var cocktail = new Cocktail {
                Id = Guid.NewGuid(), Name = "Manhattan"
            };
            var cocktail2 = new Cocktail {
                Id = Guid.NewGuid(), Name = "Cosmopolitan"
            };
            var barCocktail = new BarCocktail {
                BarId = bar.Id, CocktailId = cocktail.Id
            };
            var barCocktail2 = new BarCocktail {
                BarId = bar.Id, CocktailId = cocktail2.Id
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Cocktails.AddRangeAsync(cocktail, cocktail2);

                await arrangeContext.BarCocktails.AddRangeAsync(barCocktail, barCocktail2);

                await arrangeContext.SaveChangesAsync();
            }
            //Act, Assert
            using (var assertContext = new CMContext(options))
            {
                var sut    = new BarServices(assertContext);
                var result = await sut.GetCocktailsForBar(bar.Id);

                Assert.AreEqual(2, result.Count());
                Assert.AreEqual(barCocktail.CocktailId, result.ToList()[0].CocktailId);
                Assert.AreEqual(barCocktail.BarId, result.ToList()[0].BarId);
                Assert.AreEqual(barCocktail2.BarId, result.ToList()[1].BarId);
                Assert.AreEqual(barCocktail2.BarId, result.ToList()[1].BarId);
                Assert.IsInstanceOfType(result, typeof(ICollection <BarCocktailDTO>));
            }
        }
Esempio n. 24
0
        public void ReturnEmptyCollectionIfNoBarsExist()
        {
            var options = TestUtilities.GetOptions(nameof(ReturnEmptyCollectionIfNoBarsExist));

            // Act, Assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarServices(assertContext);
                var result = sut.GetCollectionAsync().GetAwaiter().GetResult();
                Assert.IsTrue(result.Count == 0);
            }
        }
Esempio n. 25
0
        public async Task ThrowMagicExeption_WhenNullBarDto_IsPassed()
        {
            var options = TestUtils.GetOptions(nameof(ThrowMagicExeption_WhenNullBarDto_IsPassed));

            var fileService = new Mock <IFileUploadService>();

            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext, fileService.Object);
                var ex  = await Assert.ThrowsExceptionAsync <MagicException>(
                    async() => await sut.Update(null));
            }
        }
        public async Task AddCocktailToBar_Adds_Correctly_When_Params_Are_Valid()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(AddCocktailToBar_Adds_Correctly_When_Params_Are_Valid));


            var bar = new Bar
            {
                Id      = Guid.NewGuid(),
                Name    = "Cosmos",
                Country = new Country
                {
                    Id   = Guid.NewGuid(),
                    Name = "Bulgaria"
                }
            };

            var cocktail = new Cocktail
            {
                Id   = Guid.NewGuid(),
                Name = "Manhattan",
            };

            var cocktailDTO = new CocktailDTO
            {
                Id   = cocktail.Id,
                Name = cocktail.Name,
            };

            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Cocktails.AddAsync(cocktail);

                await arrangeContext.SaveChangesAsync();
            }


            //Act,Assert
            using (var assertContext = new CMContext(options))
            {
                var sut    = new BarServices(assertContext);
                var result = await sut.AddCocktailToBar(bar.Id, cocktailDTO.Id);

                Assert.AreEqual(1, assertContext.BarCocktails.Count());
                Assert.AreEqual(1, result.BarCocktails.Count());
                Assert.AreEqual(true, result.BarCocktails.ToList()[0].IsListed);
                Assert.IsInstanceOfType(result, typeof(BarDTO));
            }
        }
        public async Task ReturnNumberOfNotDeletedBars()
        {
            var barFactoryMock         = new Mock <IBarFactory>();
            var barCocktailFactoryMock = new Mock <IBarCocktailFactory>();

            var imagaUrlTest = "https://www.google.com/";
            var bar1TestName = "Name1Test";
            var bar2TestName = "Name2Test";

            var addressTest = new Address
            {
                Name = "AddressTest",
                City = new City {
                    Name = "SofiaTest"
                },
                Latitude  = 1.1,
                Longitude = 1.1
            };

            var bar1Test = new Bar
            {
                Name      = bar1TestName,
                ImagePath = imagaUrlTest,
                Address   = addressTest,
            };

            var bar2Test = new Bar
            {
                Name      = bar2TestName,
                ImagePath = imagaUrlTest,
                Address   = addressTest,
                IsDeleted = true
            };

            var options = TestUtilities.GetOptions(nameof(ReturnNumberOfNotDeletedBars));

            using (var arrangeContext = new CocktailMagicianDb(options))
            {
                arrangeContext.Bars.Add(bar1Test);
                arrangeContext.Bars.Add(bar2Test);
                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new CocktailMagicianDb(options))
            {
                var sut   = new BarServices(assertContext, barFactoryMock.Object, barCocktailFactoryMock.Object);
                var count = await sut.AllBarsCountAsync();

                Assert.AreEqual(1, count);
            }
        }
Esempio n. 28
0
        public async Task ThrowMagicExeption_IfNullValue_Bar_Passed()
        {
            var options = TestUtils.GetOptions(nameof(ThrowMagicExeption_IfNullValue_Bar_Passed));

            var fileService = new Mock <IFileUploadService>();

            using (var assertContext = new CMContext(options))
            {
                var sut = new BarServices(assertContext, fileService.Object);

                var ex = await Assert.ThrowsExceptionAsync <MagicException>(
                    async() => await sut.AddCocktailToBar(null, null));
            }
        }
Esempio n. 29
0
        public void ReturnEmptyCollectionIfThereAreNoBars()
        {
            // Arrange
            var options = TestUtilities.GetOptions(nameof(ReturnEmptyCollectionIfThereAreNoBars));

            // Act, Assert
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarServices(assertContext);
                var result = sut.LoadNewestBars().GetAwaiter().GetResult();

                Assert.IsTrue(result.Count == 0);
            }
        }
Esempio n. 30
0
        public async Task UpdateAll_ManyToManyConnectionsToCocktails_OfBar_InDb()
        {
            var options = TestUtils.GetOptions(nameof(UpdateAll_ManyToManyConnectionsToCocktails_OfBar_InDb));

            var fileService = new Mock <IFileUploadService>();

            using (var assertContext = new CMContext(options))
            {
                assertContext.Bars.Add(new Bar {
                    Id = "1", Name = "BashBar", Website = "abv.bg", Address = new Address {
                        City = "Sofia", Id = "1"
                    }
                });
                await assertContext.SaveChangesAsync();

                var sut    = new BarServices(assertContext, fileService.Object);
                var result = await sut.Update(
                    new BarDTO
                {
                    Id        = barId,
                    Name      = barName,
                    Website   = barWebsite,
                    BarImage  = new Mock <IFormFile>().Object,
                    Cocktails = new List <CocktailDto>
                    {
                        new CocktailDto
                        {
                            Id   = "1",
                            Name = "cocktail",
                        },
                        new CocktailDto
                        {
                            Id   = "2",
                            Name = "cocktail2",
                        }
                    }
                });

                Assert.AreEqual(2, assertContext.BarCocktails.Count());

                Assert.AreEqual("1", assertContext.BarCocktails
                                .First(x => x.CocktailId == "1").CocktailId);
                Assert.AreEqual("2", assertContext.BarCocktails
                                .First(x => x.CocktailId == "2").CocktailId);
                Assert.AreEqual("1", assertContext.BarCocktails
                                .First(x => x.CocktailId == "2").BarId);
                Assert.AreEqual("1", assertContext.BarCocktails
                                .First(x => x.CocktailId == "1").BarId);
            }
        }