Esempio n. 1
0
        public void CorrectlyDeleteReview()
        {
            var options  = TestUtilities.GetOptions(nameof(CorrectlyDeleteReview));
            int resultId = -1;
            var review1  = new BarReview
            {
                Id    = resultId,
                BarId = 1,
            };
            var review2 = new BarReview
            {
                Id    = -2,
                BarId = 1,
            };
            var review3 = new BarReview
            {
                Id    = -3,
                BarId = 2,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review1).GetAwaiter();
                actContext.AddAsync(review2).GetAwaiter();
                actContext.AddAsync(review3).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarReviewServices(assertContext);
                sut.DeleteAsync(resultId).GetAwaiter();
                Assert.IsFalse(assertContext.BarReviews.Contains(review1));
            }
        }
Esempio n. 2
0
        public void ThrowWhenIdIsNotFound()
        {
            var options  = TestUtilities.GetOptions(nameof(ThrowWhenIdIsNotFound));
            int resultId = -1;
            var review1  = new BarReview
            {
                Id    = resultId,
                BarId = 1,
            };
            var review2 = new BarReview
            {
                Id    = -2,
                BarId = 1,
            };
            var review3 = new BarReview
            {
                Id    = -3,
                BarId = 2,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review1).GetAwaiter();
                actContext.AddAsync(review2).GetAwaiter();
                actContext.AddAsync(review3).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarReviewServices(assertContext);
                Assert.ThrowsExceptionAsync <ArgumentNullException>(
                    () => sut.DeleteAsync(int.MaxValue));
            }
        }
        public void ReturnNullWhenBarIdIsNotFound()
        {
            var options = TestUtilities.GetOptions(nameof(ReturnNullWhenBarIdIsNotFound));
            var review1 = new BarReview
            {
                Id    = -1,
                BarId = 1,
            };
            var review2 = new BarReview
            {
                Id    = -2,
                BarId = 1,
            };
            var review3 = new BarReview
            {
                Id    = -3,
                BarId = 2,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review1).GetAwaiter();
                actContext.AddAsync(review2).GetAwaiter();
                actContext.AddAsync(review3).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarReviewServices(assertContext);
                var result = sut.GetBarReviewsCollectionAsync(int.MaxValue).GetAwaiter().GetResult();
                Assert.AreEqual(0, result.Count);
            }
        }
        public void ThrowWhenBarIsNull()
        {
            var options = TestUtilities.GetOptions(nameof(ThrowWhenBarIsNull));
            var user    = new User
            {
                Id = "asd",
            };

            using (var assertContext = new CocktailDB(options))
            {
                var sut = new BarReviewServices(assertContext);
                Assert.ThrowsExceptionAsync <ArgumentNullException>(() =>
                                                                    sut.CreateBarReviewAsync(2, "134", null, user));
            }
        }
        public void CorrectlyAddBarReview()
        {
            var options = TestUtilities.GetOptions(nameof(CorrectlyAddBarReview));
            var bar     = new Bar
            {
                Id = 1,
            };
            var user = new User
            {
                Id = "asd",
            };

            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarReviewServices(assertContext);
                var review = sut.CreateBarReviewAsync(5, "1adf", bar, user).GetAwaiter().GetResult();
                var result = assertContext.BarReviews.Find(review.Id);
                Assert.AreEqual(review, result);
            }
        }
Esempio n. 6
0
        public void ReturnNullWhenIdNotFound()
        {
            var options  = TestUtilities.GetOptions(nameof(ReturnNullWhenIdNotFound));
            int resultId = -1;
            var review   = new BarReview
            {
                Id = resultId,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarReviewServices(assertContext);
                var result = sut.GetBarReviewAsync(int.MaxValue).GetAwaiter().GetResult();
                Assert.IsNull(result);
            }
        }
Esempio n. 7
0
        public void ReturnCorrectReview()
        {
            var options  = TestUtilities.GetOptions(nameof(ReturnCorrectReview));
            int resultId = -1;
            var review   = new BarReview
            {
                Id = resultId,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarReviewServices(assertContext);
                var result = sut.GetBarReviewAsync(resultId).GetAwaiter().GetResult();
                Assert.IsNotNull(result);
                Assert.AreEqual(resultId, result.Id);
            }
        }
        public void ReturnCorrectReviews()
        {
            var options  = TestUtilities.GetOptions(nameof(ReturnCorrectReviews));
            int resultId = 1;
            var review1  = new BarReview
            {
                Id    = -1,
                BarId = 1,
            };
            var review2 = new BarReview
            {
                Id    = -2,
                BarId = 1,
            };
            var review3 = new BarReview
            {
                Id    = -3,
                BarId = 2,
            };

            using (var actContext = new CocktailDB(options))
            {
                actContext.AddAsync(review1).GetAwaiter();
                actContext.AddAsync(review2).GetAwaiter();
                actContext.AddAsync(review3).GetAwaiter();
                actContext.SaveChangesAsync().GetAwaiter();
            }
            using (var assertContext = new CocktailDB(options))
            {
                var sut    = new BarReviewServices(assertContext);
                var result = sut.GetBarReviewsCollectionAsync(resultId).GetAwaiter().GetResult();
                Assert.IsNotNull(result);
                Assert.AreEqual(2, result.Count);
                Assert.IsTrue(result.Select(br => br.BarId).Contains(1));
            }
        }
        public async Task AddReviewAsync()
        {
            var comment      = "comment";
            var rating       = 5;
            var userName     = "******";
            var userpassword = "******";
            var roleId       = 1;
            var barTestName  = "New Bar";
            var imageUrlTest = "https://www.google.bg/";


            var userServicesMock     = new Mock <IUserServices>();
            var barReviewFactoryMock = new Mock <IBarReviewFactory>();



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

            var barTest = new Bar
            {
                Name      = barTestName,
                ImagePath = imageUrlTest,
                Address   = addressTest,
            };

            var user = new User(userName, userpassword, roleId);

            userServicesMock
            .Setup(r => r.FindUserAsync(userName))
            .ReturnsAsync(user);

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

            using (var arrangeContext = new CocktailMagicianDb(options))
            {
                arrangeContext.Bars.Add(barTest);
                arrangeContext.Users.Add(user);
                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new CocktailMagicianDb(options))
            {
                var barFound = await actContext.Bars.Where(b => b.Name == barTest.Name).Select(b => b.Id).FirstAsync();

                var userNameFound = await actContext.Users.Where(u => u.UserName == userName).Select(u => u.UserName).FirstAsync();

                var userIdFound = await actContext.Users.Where(u => u.UserName == userName).Select(u => u.Id).FirstAsync();

                var barReview = new BarReview
                {
                    Comment = comment,
                    Rating  = rating,
                    UserId  = userIdFound,
                    BarId   = barFound
                };

                barReviewFactoryMock
                .Setup(r => r.Create(comment, rating, userIdFound, barFound))
                .Returns(barReview);

                var sut = new BarReviewServices(barReviewFactoryMock.Object, actContext);
                await sut.AddReviewAsync(comment, rating, userNameFound, barFound);
            }

            using (var assertContext = new CocktailMagicianDb(options))
            {
                var barReviewTest = await assertContext.BarReviews.Include(b => b.User).FirstAsync(u => u.User == user);

                var userIdFound = await assertContext.Users.Where(u => u.UserName == userName).Select(u => u.Id).FirstAsync();

                Assert.AreEqual(barReviewTest.User.Id, user.Id);
            }
        }
        public async Task AllReviewsAsync()
        {
            var userName = "******";
            var userName2 = "user";
            var userpassword = "******";
            var roleId = 1;
            var barTestName = "New Bar";
            var imageUrlTest = "https://www.google.bg/";


            var userServicesMock = new Mock<IUserServices>();
            var barReviewFactoryMock = new Mock<IBarReviewFactory>();

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

            var barTest = new Bar
            {
                Name = barTestName,
                ImagePath = imageUrlTest,
                Address = addressTest,
            };


            var user = new User(userName, userpassword, roleId);
            var user2 = new User(userName2, userpassword, roleId);
            var barReview1 = new BarReview
            {
                Bar = barTest,
                User = user
            };

            var barReview2 = new BarReview
            {
                Bar = barTest,
                User = user2
            };

            userServicesMock
                .Setup(r => r.FindUserAsync(userName))
                .ReturnsAsync(user);

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

            using (var arrangeContext = new CocktailMagicianDb(options))
            {
                arrangeContext.Bars.Add(barTest);
                arrangeContext.Users.Add(user);
                arrangeContext.Users.Add(user2);
                arrangeContext.BarReviews.Add(barReview1);
                arrangeContext.BarReviews.Add(barReview2);
                await arrangeContext.SaveChangesAsync();
            }

            using (var actContext = new CocktailMagicianDb(options))
            {


                var barFound = await actContext.Bars.Where(b => b.Name == barTest.Name).Select(b => b.Id).FirstAsync();
                var sut = new BarReviewServices(barReviewFactoryMock.Object, actContext );
                await sut.AllReviewsAsync(barFound);
            }

            using (var assertContext = new CocktailMagicianDb(options))
            {
                Assert.AreEqual(2, assertContext.BarReviews.Count());
            }
        }