public async Task GetTest()
        {
            //Arrange
            using (var context = new AppDbContext(options))
            {
                var review = new GoodReview {
                    Id = 1, CustomerId = 1
                };
                var customer = new Customer {
                    Id = 1, FirstName = "Test"
                };
                var repo = new ReviewRepository(context);

                //Act
                context.Customers.Add(customer);
                context.Reviews.Add(review);
                context.SaveChanges();
                var actualResult = await repo.Get(review.Id);

                var expectedResult = review;

                //Assert
                Assert.AreEqual(expectedResult, actualResult);
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> LeaveReview(int id, string reviewArea)
        {
            Customer customer = unitOfWork.Customers.GetAll().Where(c => c.Email == User.Identity.Name)
                                .FirstOrDefault();

            if (customer != null)
            {
                GoodReview review = new GoodReview
                {
                    Good      = await unitOfWork.Goods.Get(id),
                    Customer  = customer,
                    Date      = DateTime.Now,
                    Message   = reviewArea,
                    StarCount = Convert.ToInt32(Request.Form["mark"])
                };

                Good good = await unitOfWork.Goods.Get(id);

                await unitOfWork.Goods.AddReview(review, good);

                await unitOfWork.SaveAsync();
            }

            return(RedirectToAction("ShowGood", new { goodId = id }));
        }
Esempio n. 3
0
        public async Task AddReview()
        {
            //Arrange
            using (var context = new AppDbContext(options))
            {
                var review = new GoodReview {
                    Id = 1, GoodId = 1
                };
                var good = new Good {
                    Id = 1, Name = "Test"
                };
                var repo = new GoodRepository(context);

                //Act
                await repo.Create(good);

                context.Reviews.Add(review);
                await repo.AddReview(review, good);

                var actualResult   = context.Reviews.Find(review.Id);
                var expectedResult = review;

                //Assert
                Assert.AreEqual(expectedResult, actualResult);
                Assert.AreEqual(good.Reviews, new List <GoodReview> {
                    review
                });
            }
        }
Esempio n. 4
0
        public async Task <IActionResult> DeleteReview(int id)
        {
            GoodReview review = unitOfWork.Reviews.GetAll().Where(r => r.Id == id).First();
            int        goodId = review.GoodId;

            await unitOfWork.Reviews.Delete(review.Id);

            await unitOfWork.SaveAsync();

            return(RedirectToAction("ShowGood", new { goodId }));
        }
Esempio n. 5
0
        public async Task <IActionResult> Delete(int id)
        {
            GoodReview review = await unitOfWork.Reviews.Get(id);

            if (review != null)
            {
                await unitOfWork.Reviews.Delete(id);

                await unitOfWork.SaveAsync();
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 6
0
        public async Task <IActionResult> Confirm(int id)
        {
            GoodReview review = await unitOfWork.Reviews.Get(id);

            if (review != null)
            {
                review.IsVisibleForAll = true;

                unitOfWork.Reviews.Update(review);
                await unitOfWork.SaveAsync();
            }

            return(RedirectToAction("Index"));
        }
Esempio n. 7
0
        public async Task <IActionResult> EditReview(int goodId)
        {
            Good good = await unitOfWork.Goods.Get(goodId);

            GoodReview review = unitOfWork.Goods.GetReviews(good.Id)
                                .Where(r => r.Id == Convert.ToInt32(Request.Form["reviewId"])).First();
            IUpdater <GoodReview> reviewUpdater = new Updater <GoodReview>(unitOfWork.GetContext());

            review.Message   = Request.Form["newMessage"];
            review.StarCount = this.CheckNewStarCount(Request.Form["newStarCount"]);
            review.Date      = DateTime.Now;
            reviewUpdater.Update(review);
            await unitOfWork.SaveAsync();

            return(RedirectToAction("ShowGood", new { goodId }));
        }
Esempio n. 8
0
        public async Task Delete_Review_From_Database()
        {
            // Arrange
            var review = new GoodReview()
            {
                Id = 1, Message = "Test"
            };

            // Act
            context.Reviews.Add(review);
            context.SaveChanges();
            await controller.Delete(context.Reviews.First().Id);

            // Assert
            Assert.AreEqual(0, context.Reviews.Count());
        }
Esempio n. 9
0
        public async Task Confirm_Review_Test()
        {
            // Arrange
            var review = new GoodReview()
            {
                Id = 1, Message = "Test", IsVisibleForAll = false
            };

            // Act
            context.Reviews.Add(review);
            context.SaveChanges();
            await controller.Confirm(context.Reviews.First().Id);

            // Assert
            Assert.AreEqual(1, context.Reviews.Count());
            Assert.IsTrue(context.Reviews.First().IsVisibleForAll);
        }
        public void UpdateTest()
        {
            //Arrange
            using (var context = new AppDbContext(options))
            {
                var review = new GoodReview {
                    Id = 1, CustomerId = 1
                };
                var repo = new ReviewRepository(context);

                //Act
                repo.Update(review);
                var actualResult   = context.Entry(review).State;
                var expectedResult = EntityState.Modified;

                //Assert
                Assert.AreEqual(expectedResult, actualResult);
            }
        }
        public async Task CreateTest()
        {
            //Arrange
            using (var context = new AppDbContext(options))
            {
                var review = new GoodReview {
                    Id = 1
                };
                var repo = new ReviewRepository(context);

                //Act
                await repo.Create(review);

                var expectedResult = 1;
                var actualResult   = context.Reviews.Local.Count;

                //Assert
                Assert.AreEqual(expectedResult, actualResult);
            }
        }
Esempio n. 12
0
        public async Task <IActionResult> LeaveReview(int id, string reviewArea)
        {
            Customer customer = unitOfWork.Customers.GetAll().Where(c => c.Email == User.Identity.Name).First();

            if (customer != null)
            {
                GoodReview review = new GoodReview
                {
                    Customer  = customer,
                    Date      = DateTime.Now,
                    Message   = reviewArea,
                    StarCount = 0
                };

                Good good = await unitOfWork.Goods.Get(id);

                await unitOfWork.Goods.AddReview(review, good);

                await unitOfWork.SaveAsync();
            }

            return(View());
        }
Esempio n. 13
0
 public async Task AddReview(GoodReview review, Good good)
 {
     review.Good = good;
     await applicationContext.Reviews.AddAsync(review);
 }