public void CanUpdateExistingReview()
        {
            if (_reviews != null)
            {
                var review = _reviews[0];
                review.Detail = "TestReviewUpdate";
                review.Rating = 1;

                IReviewRepository repository = new ReviewRepository();
                repository.Update(review);

                // use session to try to load the Review
                using (ISession session = _sessionFactory.OpenSession())
                {
                    var fromDb = session.Get<Review>(review.Id);
                    Assert.AreEqual(review.ProductId, fromDb.ProductId);
                    Assert.AreEqual(review.UserId, fromDb.UserId);
                    Assert.AreEqual(review.Detail, fromDb.Detail);
                    Assert.AreEqual(review.Rating, fromDb.Rating);
                }
            }
        }
        public void CanRemoveExistingReview()
        {
            var review = _reviews[0];
            IReviewRepository repository = new ReviewRepository();
            repository.Remove(review);

            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Review>(review.Id);
                Assert.IsNull(fromDb);
            }
        }
 public void CanGetExistingReviewById()
 {
     IReviewRepository repository = new ReviewRepository();
     var fromDb = repository.GetById(_reviews[1].UserId);
     Assert.IsNotNull(fromDb);
     Assert.AreNotSame(_reviews[1], fromDb);
     Assert.AreEqual(_reviews[1].ProductId, fromDb.ProductId);
     Assert.AreEqual(_reviews[1].UserId, fromDb.UserId);
     Assert.AreEqual(_reviews[1].Detail, fromDb.Detail);
     Assert.AreEqual(_reviews[1].Rating, fromDb.Rating);
 }
        public void CanGetExistingReviewList()
        {
            IReviewRepository repository = new ReviewRepository();
            var fromDb = repository.List(2);

            Assert.AreEqual(1, fromDb.Count);
            Assert.IsTrue(IsInReviewCollection(_reviews[1], fromDb));
        }
        public void CanAddNewReview()
        {
            var review = new Review
            {
                Detail = "TestReview6",
                Rating = 5,
                ProductId = 1,
                UserId = 1,
            };

            IReviewRepository repository = new ReviewRepository();
            repository.Add(review);

            // use session to try to load the Review
            using (ISession session = _sessionFactory.OpenSession())
            {
                var fromDb = session.Get<Review>(review.Id);
                // Test that the Review was successfully inserted
                Assert.IsNotNull(fromDb);
                Assert.AreNotSame(review, fromDb);
                Assert.AreEqual(review.ProductId, fromDb.ProductId);
                Assert.AreEqual(review.UserId, fromDb.UserId);
                Assert.AreEqual(review.Detail, fromDb.Detail);
                Assert.AreEqual(review.Rating, fromDb.Rating);
            }
        }