Example #1
0
        public async Task CreateCountry_Throw_When_NameIsNull()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(CreateCountry_Throw_When_NameIsNull));

            var country = new Country {
                Id = Guid.NewGuid(), Name = "Bulgaria"
            };
            var countryDTO = new CountryDTO {
                Name = null
            };

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

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

                await Assert.ThrowsExceptionAsync <ArgumentNullException>(()
                                                                          => sut.CreateCountry(countryDTO));
            }
        }
Example #2
0
        public async Task <CityDTO> CreateCityAsync(CityDTO cityDTO)
        {
            var city = cityDTO.CityDTOMapToModel();
            await _cmContext.AddAsync(city);

            await _cmContext.SaveChangesAsync();

            return(cityDTO);
        }
        public async Task BarsAvailable_Returns_OnlyExisting_Entities()
        {
            //Arrange

            var options = Utils.GetOptions(nameof(BarsAvailable_Returns_OnlyExisting_Entities));
            var country = new Country {
                Id = Guid.NewGuid(), Name = "Bulgaria"
            };

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

            var bar2 = new Bar
            {
                Id        = Guid.NewGuid(),
                Name      = "The Cocktail Bar",
                Rating    = 1,
                IsDeleted = true,
                Country   = country,
                CountryId = country.Id,
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.AddRangeAsync(bar, bar2);

                await arrangeContext.AddAsync(country);

                await arrangeContext.SaveChangesAsync();
            }

            //Act, Assert
            using (var assertContext = new CMContext(options))
            {
                var sut    = new CountryServices(assertContext);
                var result = await sut.BarsAvailable(country.Id);

                Assert.AreEqual(1, result.Count);
                Assert.IsInstanceOfType(result, typeof(ICollection <BarDTO>));
            }
        }
        public async Task ReturntOrderedResult()
        {
            var options        = TestUtilities.GetOptions(nameof(ReturntOrderedResult));
            var mockIngredient = new Mock <IIngredientManager>();
            var mockFactory    = new Mock <ICocktailFactory>();

            var cocktailOne = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.7
            };
            var cocktailTwo = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.6
            };
            var cocktailThree = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.5
            };
            var cocktailFour = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.4
            };
            var cocktailFive = new Cocktail()
            {
                Name        = "name",
                Information = "info",
                Picture     = "picture",
                Rating      = 4.1
            };

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

                await arrangeContext.AddAsync(cocktailTwo);

                await arrangeContext.AddAsync(cocktailThree);

                await arrangeContext.AddAsync(cocktailFour);

                await arrangeContext.AddAsync(cocktailFive);

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new CMContext(options))
            {
                var sut    = new CocktailManager(mockIngredient.Object, assertContext, mockFactory.Object);
                var result = await sut.GetTopRatedCocktails();

                Assert.AreEqual(cocktailOne.Rating, result.ElementAt(0).Rating);
                Assert.AreEqual(cocktailTwo.Rating, result.ElementAt(1).Rating);
                Assert.AreEqual(cocktailThree.Rating, result.ElementAt(2).Rating);
                Assert.AreEqual(cocktailFour.Rating, result.ElementAt(3).Rating);
            }
        }