public void MapFrom_Should_CorrectlyMapFrom_Cocktail_To_CocktailRatingDto()
        {
            //Arrange
            var sut = new CocktailRatingDtoMapper();

            var cocktailRating = new CocktailRating
            {
                Cocktail = new Cocktail
                {
                    Id        = Guid.NewGuid(),
                    Name      = "testCocktail",
                    Info      = "testInfo",
                    ImagePath = "testPath",
                },
                User = new User
                {
                    Id       = Guid.NewGuid(),
                    UserName = "******",
                    Email    = "*****@*****.**"
                },
                Value     = 5,
                CreatedOn = DateTime.MinValue,
            };

            //Act
            var result = sut.MapFrom(cocktailRating);

            //Assert
            Assert.AreEqual(result.CocktailId, cocktailRating.CocktailId);
            Assert.AreEqual(result.UserId, cocktailRating.UserId);
            Assert.AreEqual(result.Value, cocktailRating.Value);
            Assert.AreEqual(result.CreatedOn, cocktailRating.CreatedOn);
        }
        public void MapFrom_Should_ReturnCorrectInstanceOf_CocktailDto()
        {
            //Arrange
            var sut = new CocktailRatingDtoMapper();

            var cocktailRating = new CocktailRating
            {
                Cocktail = new Cocktail
                {
                    Id        = Guid.NewGuid(),
                    Name      = "testCocktail",
                    Info      = "testInfo",
                    ImagePath = "testPath",
                },
                User = new User
                {
                    Id       = Guid.NewGuid(),
                    UserName = "******",
                    Email    = "*****@*****.**"
                },
                Value     = 5,
                CreatedOn = DateTime.MinValue,
            };

            //Act
            var result = sut.MapFrom(cocktailRating);

            //Assert
            Assert.IsInstanceOfType(result, typeof(CocktailRatingDto));
        }
        public void ReturnCorrectInstance_OfType_CocktailRatingDto()
        {
            //Arrange
            var sut      = new CocktailRatingDtoMapper();
            var cocktail = new Cocktail
            {
                Id   = 1,
                Name = "TestCocktail",
            };
            var user = new User
            {
                Id       = 1,
                UserName = "******",
                Email    = "*****@*****.**",
            };
            var cocktailRating = new CocktailRating
            {
                CocktailId = cocktail.Id,
                UserId     = user.Id,
                Value      = 5,
            };

            //Act
            var result = sut.MapDto(cocktailRating);

            //Assert
            Assert.IsInstanceOfType(result, typeof(CocktailRatingDto));
            Assert.AreEqual(result.CocktailId, cocktailRating.CocktailId);
            Assert.AreEqual(result.UserId, cocktailRating.UserId);
            Assert.AreEqual(result.Value, cocktailRating.Value);
        }
        public void ReturnCorrectInstance_OfType_ICollectionCocktailRatingDto()
        {
            //Arrange
            var sut       = new CocktailRatingDtoMapper();
            var cocktail1 = new Cocktail
            {
                Id   = 1,
                Name = "TestCocktail1",
            };
            var cocktail2 = new Cocktail
            {
                Id   = 2,
                Name = "TestCocktail2",
            };
            var user1 = new User
            {
                Id       = 1,
                UserName = "******",
                Email    = "*****@*****.**",
            };
            var user2 = new User
            {
                Id       = 2,
                UserName = "******",
                Email    = "*****@*****.**",
            };
            var cocktailRatings = new List <CocktailRating>
            {
                new CocktailRating
                {
                    CocktailId = cocktail1.Id,
                    UserId     = user1.Id,
                    Value      = 5,
                },
                new CocktailRating
                {
                    CocktailId = cocktail2.Id,
                    UserId     = user2.Id,
                    Value      = 4,
                },
            };
            //Act
            var result = sut.MapDto(cocktailRatings);

            //Assert
            Assert.IsInstanceOfType(result, typeof(ICollection <CocktailRatingDto>));
            Assert.AreEqual(result.First().CocktailId, cocktailRatings[0].CocktailId);
            Assert.AreEqual(result.First().UserId, cocktailRatings[0].UserId);
            Assert.AreEqual(result.First().Value, cocktailRatings[0].Value);
            Assert.AreEqual(result.Last().CocktailId, cocktailRatings[1].CocktailId);
            Assert.AreEqual(result.Last().UserId, cocktailRatings[1].UserId);
            Assert.AreEqual(result.Last().Value, cocktailRatings[1].Value);
        }
        public void MapFromCollection_Should_ReturnCorrectCountCocktailRatings()
        {
            //Arrange
            var sut = new CocktailRatingDtoMapper();

            var cocktailRatings = new List <CocktailRating>()
            {
                new CocktailRating
                {
                    Cocktail = new Cocktail
                    {
                        Id        = Guid.NewGuid(),
                        Name      = "testCocktail",
                        Info      = "testInfo",
                        ImagePath = "testPath",
                    },
                    User = new User
                    {
                        Id       = Guid.NewGuid(),
                        UserName = "******",
                        Email    = "*****@*****.**"
                    },
                    Value     = 5,
                    CreatedOn = DateTime.MinValue,
                },
                new CocktailRating
                {
                    Cocktail = new Cocktail
                    {
                        Id        = Guid.NewGuid(),
                        Name      = "testCocktail",
                        Info      = "testInfo",
                        ImagePath = "testPath",
                    },
                    User = new User
                    {
                        Id       = Guid.NewGuid(),
                        UserName = "******",
                        Email    = "*****@*****.**"
                    },
                    Value     = 5,
                    CreatedOn = DateTime.MinValue,
                },
            };

            //Act
            var result = sut.MapFrom(cocktailRatings);

            //Assert
            Assert.AreEqual(2, result.Count());
        }