public void CallDataReviewsRepository_AllProperty()
        {
            //Arrange
            var expectedReview = new Review()
            {
                BarId = 2
            };
            var reviewsList = new List <Review>
            {
                new Review()
                {
                    BarId = 1
                },
                expectedReview,
                new Review()
                {
                    BarId = 3
                },
            }.AsQueryable();

            var mockedReviewsRepo = new Mock <IEntityFrameworkRepository <Review> >();

            mockedReviewsRepo.Setup(x => x.All).Returns(reviewsList);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Reviews).Returns(mockedReviewsRepo.Object);
            var service = new ReviewsService(mockedData.Object);

            //Act
            service.GetBarReviews(2);

            //Assert
            mockedReviewsRepo.Verify(x => x.All, Times.Once());
        }
        public async Task DeleteAsync_ShouldReturnTrueIfReviewSucceded()
        {
            //Arrange
            var options = InMemory.GetOptions("DeleteAsync_ShouldReturnTrueIfSucceded");

            using (var context = new BOContext(options))
            {
                var review = new Review
                {
                    Description = "Great",
                    Beer        = new Beer()
                    {
                        Name = "Carlsberg"
                    },
                    User = new User()
                    {
                        Name = "SuperMan"
                    },
                };
                context.Reviews.Add(review);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut    = new ReviewsService(context);
                var result = await sut.DeleteAsync(1);

                //Assert
                Assert.AreEqual(result, true);
            }
        }
Exemple #3
0
        public void CreateReviewShould_ReturnFalseIfCantCreateVoucher()
        {
            var options = new DbContextOptionsBuilder <CarRentalDbContext>()
                          .UseInMemoryDatabase(databaseName: "CarRental_Database_CreateReview_NoVoucher")
                          .Options;
            var dbContext = new CarRentalDbContext(options);

            var user = new ApplicationUser()
            {
                Id        = Guid.NewGuid().ToString(),
                Email     = "*****@*****.**",
                FirstName = "Admin",
                LastName  = "LastAdmin"
            };

            var vouchersServiceMock = new Mock <IVouchersService>();

            vouchersServiceMock.Setup(x => x.CreateForUser(user.Email)).
            ReturnsAsync(false);

            var ordersServiceMock = new Mock <IOrdersService>();

            ordersServiceMock.Setup(x => x.DeleteReviewFromOrder(It.IsAny <int>())).
            ReturnsAsync(true);

            var reviewsService = new ReviewsService(dbContext, vouchersServiceMock.Object, this.mapper, ordersServiceMock.Object);

            var random        = new Random();
            var reviewRating  = random.Next(1, 5);
            var reviewComment = Guid.NewGuid().ToString();

            var result = reviewsService.CreateReview(Guid.NewGuid().ToString(), reviewRating, reviewComment).GetAwaiter().GetResult();

            Assert.False(result);
        }
Exemple #4
0
        public async Task <IActionResult> DeleteReviewForTape([FromRoute] int friendId, [FromRoute] int tapeId)
        {
            var review = await ReviewsService.GetSingle(friendId, tapeId);

            ReviewsService.Delete(review);
            return(NoContent());
        }
        public async Task GetAllAsync_ShouldReturnIEnumerableReviewDTOAsync()
        {
            //Arrange
            var options = InMemory.GetOptions("GetAllAsync_ShouldReturnIEnumerableReviewDTOAsync");

            using (var context = new BOContext(options))
            {
                var review = new Review
                {
                    Description = "Great",
                    Beer        = new Beer()
                    {
                        Name = "Carlsberg"
                    },
                    User = new User()
                    {
                        Name = "SuperMan"
                    }
                };
                context.Reviews.Add(review);
                await context.SaveChangesAsync();
            }

            using (var context = new BOContext(options))
            {
                //Act
                var sut    = new ReviewsService(context);
                var result = await sut.GetAllAsync();

                //Assert
                Assert.IsInstanceOfType(result, typeof(IEnumerable <ReviewDTO>));
            }
        }
        public async void UpdateReviewOp()
        {
            DbContextOptions <LoveThemBackAPIDbContext> options =
                new DbContextOptionsBuilder <LoveThemBackAPIDbContext>().UseInMemoryDatabase("UpdateReview")
                .Options;


            using (LoveThemBackAPIDbContext context = new LoveThemBackAPIDbContext(options))
            {
                Review Review = new Review();
                Review.PetID      = 1;
                Review.UserID     = 2;
                Review.Impression = "Snooky";

                var ServicesCreate = new ReviewsService(context);
                await ServicesCreate.AddReview(Review);

                Review newReview = new Review();

                newReview.PetID      = 1;
                newReview.UserID     = 2;
                newReview.Impression = "Updates";

                ServicesCreate.UpdateReview(2, 1, newReview);
                var    getReview = ServicesCreate.GetById(1);
                string impression;
                foreach (var item in getReview.Value)
                {
                    impression = item.Impression;
                    Assert.Equal("Updates", impression);
                }
            }
        }
        public async Task AddReviewAsyncWorksCorrectly()
        {
            var webtoons = new List <Webtoon>();

            webtoons.Add(new Webtoon
            {
                Id          = "test",
                TitleNumber = "123"
            });
            var mockWebtoonsRepo = new Mock <IWebtoonsRepository>();

            mockWebtoonsRepo.Setup(x => x.GetWebtoonByTitleNumber("123")).Returns(webtoons.First());
            var reviews         = new List <Review>();
            var mockReviewsRepo = new Mock <IReviewsRepository>();

            mockReviewsRepo.Setup(x => x.All()).Returns(reviews.AsQueryable());
            mockReviewsRepo.Setup(x => x.AddAsync(It.IsAny <Review>())).Callback((Review review) => reviews.Add(review));

            var service = new ReviewsService(mockReviewsRepo.Object, mockWebtoonsRepo.Object);

            await service.AddReviewAsync(new Web.ViewModels.Reviews.LeaveReviewInputModel()
            {
                UserId             = "gosho",
                UserReview         = "This should work",
                WebtoonTitleNumber = "123"
            });

            Assert.Single(reviews);
            Assert.Equal("gosho", reviews.First().ReviewAuthorId);
            Assert.Equal("This should work", reviews.First().ReviewInfo);
        }
Exemple #8
0
        public async Task EditReviewShouldWorkCorrectly(string description, ReadingProgress progress, bool thisEdition)
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddAsync(
                new Review
            {
                Description     = "description1",
                AuthorId        = "author1",
                BookId          = 1,
                ReadingProgress = ReadingProgress.Unknown,
                ThisEdition     = false,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            await reviewsService.EditReviewAsync(1, description, progress, thisEdition);

            var result = await db.Reviews.FirstOrDefaultAsync();

            Assert.NotNull(result.ModifiedOn);
            Assert.Equal(description, result.Description);
            Assert.Equal(progress, result.ReadingProgress);
            Assert.Equal(thisEdition, result.ThisEdition);
        }
Exemple #9
0
        public async Task GetAllReviewsByAuthorIdShouldReturnAllReviews()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            },
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            },
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.GetAllReviewsByAuthorIdAsync <ReviewTestModel>("author1");

            Assert.Equal(3, result.Count());
        }
Exemple #10
0
        public async Task GetAuthorIdByIdShouldReturnNullIfDeleted()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
                BookId      = 1,
                IsDeleted   = true,
            },
                new Review
            {
                Description = "description2",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 1,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.GetAuthorIdByIdAsync(1);

            Assert.Null(result);
        }
Exemple #11
0
        public async Task DoesReviewIdExistShouldReturnFalseIfNotFound()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
                BookId      = 1,
            },
                new Review
            {
                Description = "description2",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 1,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.DoesReviewIdExistAsync(5);

            Assert.False(result);
        }
Exemple #12
0
        public async Task AreReviewsAboutSameBookShouldReturnFalseIfDeleted()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description     = "description1",
                AuthorId        = "author1",
                BookId          = 1,
                ReadingProgress = ReadingProgress.Finished,
                IsDeleted       = true,
            },
                new Review
            {
                Description     = "description2",
                AuthorId        = "author2",
                BookId          = 1,
                ReadingProgress = ReadingProgress.Finished,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.AreReviewsAboutSameBookAsync(1, 1);

            Assert.False(result);
        }
Exemple #13
0
        public async Task GetChildrenReviewsToReviewsAsyncShouldNotReturnReviewsWithOtherBookId()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
                BookId      = 1,
            },
                new Review
            {
                Description = "description2",
                AuthorId    = "author1",
                BookId      = 1,
            },
                new Review
            {
                Description = "description3",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 1,
            },
                new Review
            {
                Description = "description4",
                AuthorId    = "author1",
                BookId      = 2,
                ParentId    = 2,
            },
                new Review
            {
                Description = "description4",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 3,
            },
                new Review
            {
                Description = "description4",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 4,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var ids = new List <int> {
                1, 2
            };
            var result = await reviewsService.GetChildrenReviewsToReviewsAsync <ReviewTestModel>(ids, 1);

            Assert.Equal(2, result.Count());
        }
        public void ReturnsCorrectResult_WhenThereIsOneReviewWithPassedId()
        {
            //Arrange
            var expectedReview = new Review()
            {
                BarId = 2
            };
            var reviewsList = new List <Review>
            {
                new Review()
                {
                    BarId = 1
                },
                expectedReview,
                new Review()
                {
                    BarId = 3
                },
            }.AsQueryable();

            var mockedReviewsRepo = new Mock <IEntityFrameworkRepository <Review> >();

            mockedReviewsRepo.Setup(x => x.All).Returns(reviewsList);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Reviews).Returns(mockedReviewsRepo.Object);
            var service = new ReviewsService(mockedData.Object);

            //Act
            var result = service.GetBarReviews(2);

            //Assert
            Assert.IsTrue(result.Count() == 1);
            Assert.AreEqual(expectedReview, result.FirstOrDefault());
        }
        public void CallBar_ReviewCollection()
        {
            //Arrange
            var mockedReviewsCollection = new Mock <ICollection <Review> >();

            mockedReviewsCollection.Setup(x => x.Add(It.IsAny <Review>())).Verifiable();
            var mockedBar = new Mock <ShishaBar>();

            mockedBar.Setup(x => x.Reviews).Returns(mockedReviewsCollection.Object);
            var mockedBarsRepo = new Mock <IEntityFrameworkRepository <ShishaBar> >();

            mockedBarsRepo.Setup(x => x.GetById(It.IsAny <int>())).Returns(mockedBar.Object);
            var mockedData = new Mock <IShishaTimeData>();

            mockedData.Setup(x => x.Bars).Returns(mockedBarsRepo.Object);
            mockedData.Setup(x => x.SaveChanges()).Verifiable();
            var mockedReview = new Mock <Review>();
            var service      = new ReviewsService(mockedData.Object);

            //Act
            service.AddReview(1, mockedReview.Object);

            //Assert
            mockedBar.Verify(x => x.Reviews, Times.Once());
        }
Exemple #16
0
        public async Task DeleteReviewShouldSetIsDeletedAndDeletedOn()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description     = "description1",
                AuthorId        = "author1",
                BookId          = 1,
                ReadingProgress = ReadingProgress.Finished,
            },
                new Review
            {
                Description     = "description2",
                AuthorId        = "author2",
                BookId          = 1,
                ReadingProgress = ReadingProgress.Finished,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            await reviewsService.DeleteReviewByIdAsync(1);

            var result = await db.Reviews.FirstOrDefaultAsync();

            Assert.NotNull(result.DeletedOn);
            Assert.True(result.IsDeleted);
        }
Exemple #17
0
        public async void GetAllReview()
        {
            DbContextOptions <LoveThemBackAPIDbContext> options =
                new DbContextOptionsBuilder <LoveThemBackAPIDbContext>().UseInMemoryDatabase("AllReview")
                .Options;


            using (LoveThemBackAPIDbContext context = new LoveThemBackAPIDbContext(options))
            {
                var Review = new Review();
                Review.PetID      = 1;
                Review.UserID     = 2;
                Review.Impression = "Snooky";

                var Review2 = new Review();
                Review2.PetID      = 2;
                Review2.UserID     = 2;
                Review2.Impression = "Snooky";

                var ServicesCreate = new ReviewsService(context);
                await ServicesCreate.AddReview(Review);

                await ServicesCreate.AddReview(Review2);

                //READ//
                var getReview = ServicesCreate.GetAll();
                Assert.Equal(2, getReview.Value.Count());
            }
        }
Exemple #18
0
        public async Task GetReviewByIdShouldReturnCorrectReview()
        {
            var options = new DbContextOptionsBuilder <AlexandriaDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            var db = new AlexandriaDbContext(options);
            await db.AddRangeAsync(
                new Review
            {
                Description = "description1",
                AuthorId    = "author1",
                BookId      = 1,
            },
                new Review
            {
                Description = "description2",
                AuthorId    = "author1",
                BookId      = 1,
                ParentId    = 1,
            });

            await db.SaveChangesAsync();

            var reviewsService = new ReviewsService(db);

            var result = await reviewsService.GetReviewByIdAsync <ReviewTestModel>(2);

            Assert.Equal("description2", result.Description);
            Assert.NotNull(result.ParentId);
        }
        public async Task CheckGettingReviewAsync()
        {
            ApplicationDbContext db = GetDb();

            var repository = new EfDeletableEntityRepository <Review>(db);
            var service    = new ReviewsService(repository);

            var review = new Review()
            {
                Id            = Guid.NewGuid().ToString(),
                ClientId      = "1",
                AppointmentId = "1",
                Content       = "test content",
                Points        = 5,
                ProcedureId   = "1",
            };

            await repository.AddAsync(review);

            await repository.SaveChangesAsync();

            var reviewResult = await service.GetReviewAsync <TestReviewModel>("1");

            Assert.Equal(review.Content, reviewResult.Content);
        }
Exemple #20
0
        public async Task ThrowReviewNotFoundException_WhenReviewIDIsIncorrect(int reviewId, bool flag)
        {
            // Arrange
            var movieRepoStub     = new Mock <IRepository <Movie> >();
            var reviewRepoMock    = new Mock <IRepository <Review> >();
            var reviewRatingsStub = new Mock <IRepository <ReviewRatings> >();

            var reviewMock = new Review()
            {
                ID        = 1,
                IsDeleted = flag,
                Text      = "Text",
            };

            var allReviews = new List <Review>()
            {
                reviewMock
            }.AsQueryable().BuildMock().Object;

            reviewRepoMock.Setup(m => m.All()).Returns(allReviews);

            var reviewServices = new ReviewsService(reviewRepoMock.Object, movieRepoStub.Object, reviewRatingsStub.Object);

            // Act and Assert
            await Assert.ThrowsExceptionAsync <ReviewNotFoundException>(async() => await reviewServices.RateReviewAsync(reviewId, 9D, "randomUserId"));
        }
        public void AddReviewAsyncThrowsArgumentExceptionWhenUserReviewExists()
        {
            var webtoons = new List <Webtoon>();

            webtoons.Add(new Webtoon
            {
                Id          = "test",
                TitleNumber = "123"
            });
            var mockWebtoonsRepo = new Mock <IWebtoonsRepository>();

            mockWebtoonsRepo.Setup(x => x.GetWebtoonByTitleNumber("123")).Returns(webtoons.First());
            var reviews         = new List <Review>();
            var mockReviewsRepo = new Mock <IReviewsRepository>();

            mockReviewsRepo.Setup(x => x.All()).Returns(reviews.AsQueryable());
            reviews.Add(new Review()
            {
                ReviewAuthorId = "gosho",
                WebtoonId      = "test"
            });

            var service = new ReviewsService(mockReviewsRepo.Object, mockWebtoonsRepo.Object);

            Assert.ThrowsAsync <ArgumentException>(() => service.AddReviewAsync(new Web.ViewModels.Reviews.LeaveReviewInputModel()
            {
                UserId             = "gosho",
                WebtoonTitleNumber = "123"
            }));
        }
Exemple #22
0
        public ActionResult DeleteItem(string Id)
        {
            string  ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            Reviews model          = new Reviews()
            {
                Id = Int32.Parse(MyModels.Decode(Id, API.Models.Settings.SecretId + ControllerName).ToString())
            };

            try
            {
                if (model.Id > 0)
                {
                    model.CreatedBy  = int.Parse(HttpContext.Request.Headers["Id"]);
                    model.ModifiedBy = int.Parse(HttpContext.Request.Headers["Id"]);
                    ReviewsService.DeleteItem(model);
                    TempData["MessageSuccess"] = "Xóa thành công";
                    return(Json(new MsgSuccess()));
                }
                else
                {
                    TempData["MessageError"] = "Xóa Không thành công";
                    return(Json(new MsgError()));
                }
            }
            catch
            {
                TempData["MessageSuccess"] = "Xóa không thành công";
                return(Json(new MsgError()));
            }
        }
Exemple #23
0
        public IActionResult Index([FromQuery] SearchReviews dto)
        {
            int TotalItems = 0;

            string       ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            ReviewsModel data           = new ReviewsModel()
            {
                SearchData = dto
            };

            data.ListItems = ReviewsService.GetListPagination(data.SearchData, API.Models.Settings.SecretId + ControllerName);


            if (data.ListItems != null && data.ListItems.Count() > 0)
            {
                TotalItems = data.ListItems[0].TotalRows;
            }
            data.Pagination = new Areas.Admin.Models.Partial.PartialPagination()
            {
                CurrentPage = data.SearchData.CurrentPage, ItemsPerPage = data.SearchData.ItemsPerPage, TotalItems = TotalItems, QueryString = Request.QueryString.ToString()
            };


            return(View(data));
        }
Exemple #24
0
        public ActionResult UpdateFeatured([FromQuery] string Ids, Boolean Featured)
        {
            string  ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString() + "_" + HttpContext.Request.Headers["UserName"];
            Reviews item           = new Reviews()
            {
                Id = Int32.Parse(MyModels.Decode(Ids, API.Models.Settings.SecretId + ControllerName).ToString()), Featured = Featured
            };

            try
            {
                if (item.Id > 0)
                {
                    item.CreatedBy  = int.Parse(HttpContext.Request.Headers["Id"]);
                    item.ModifiedBy = int.Parse(HttpContext.Request.Headers["Id"]);
                    dynamic UpdateFeatured = ReviewsService.UpdateFeatured(item);
                    TempData["MessageSuccess"] = "Cập nhật Featured thành công";
                    return(Json(new MsgSuccess()));
                }
                else
                {
                    TempData["MessageError"] = "Cập nhật Featured Không thành công";
                    return(Json(new MsgError()));
                }
            }
            catch
            {
                TempData["MessageSuccess"] = "Cập nhật Featured không thành công";
                return(Json(new MsgError()));
            }
        }
        public async Task UpdateAsync_ShouldReturnNullIfReviewNonExistantAsync()
        {
            //Arrange
            var options = InMemory.GetOptions("UpdateAsync_ShouldReturnNullIfReviewNonExistantAsync");

            using (var context = new BOContext(options))
            {
            }

            using (var context = new BOContext(options))
            {
                var reviewDTO = new ReviewDTO
                {
                    Description = "Great",
                    Beer        = new BeerDTO()
                    {
                        Name = "Carlsberg"
                    },
                    User = new UserDTO()
                    {
                        Name = "SuperMan"
                    }
                };
                //Act
                var sut    = new ReviewsService(context);
                var result = await sut.UpdateAsync(1, reviewDTO);

                //Assert
                Assert.AreEqual(result, null);
            }
        }
Exemple #26
0
        public IActionResult SaveItem(string Id = null, int CatId = 0, int IdCoQuan = 1)
        {
            ReviewsModel data           = new ReviewsModel();
            string       ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            int          IdDC           = Int32.Parse(MyModels.Decode(Id, API.Models.Settings.SecretId + ControllerName).ToString());

            data.SearchData = new SearchReviews()
            {
                CurrentPage = 0, ItemsPerPage = 10, Keyword = ""
            };

            if (IdDC == 0)
            {
                data.Item = new Reviews()
                {
                    ReviewDate = DateTime.Now, ReviewDateShow = DateTime.Now.ToString("dd/MM/yyyy"), DisplayOder = 1, Status = true
                };
            }
            else
            {
                data.Item = ReviewsService.GetItem(IdDC, API.Models.Settings.SecretId + ControllerName);
            }
            data.ListStart = ReviewsService.GetListStart();
            return(View(data));
        }
Exemple #27
0
        public void DeleteReviewShould_SuccesfullyDeleteReviewFromOrder()
        {
            var options = new DbContextOptionsBuilder <CarRentalDbContext>()
                          .UseInMemoryDatabase(databaseName: "CarRental_Database_DeleteReview")
                          .Options;
            var dbContext = new CarRentalDbContext(options);

            var user = new ApplicationUser()
            {
                Id        = Guid.NewGuid().ToString(),
                Email     = "*****@*****.**",
                FirstName = "Admin",
                LastName  = "LastAdmin"
            };

            var vouchersServiceMock = new Mock <IVouchersService>();

            vouchersServiceMock.Setup(x => x.CreateForUser(user.Email)).
            ReturnsAsync(true);

            var order = new Order
            {
                Id = Guid.NewGuid().ToString(),
                ApplicationUserId = user.Id,
                CarId             = 1,
                PickUpLocationId  = 1,
                ReturnLocationId  = 1,
                Price             = 1,
            };

            dbContext.Orders.Add(order);

            var random        = new Random();
            var reviewRating  = random.Next(1, 5);
            var reviewComment = Guid.NewGuid().ToString();

            order.Review = new Review
            {
                Comment = reviewComment,
                Rating  = reviewRating,
                Id      = 1,
                CarId   = 1
            };
            dbContext.SaveChanges();

            var ordersServiceMock = new Mock <IOrdersService>();

            ordersServiceMock.Setup(x => x.DeleteReviewFromOrder(order.Review.Id)).
            ReturnsAsync(true);

            var reviewsService = new ReviewsService(dbContext, vouchersServiceMock.Object, this.mapper, ordersServiceMock.Object);

            Assert.True(order.Review != null);

            reviewsService.DeleteReview(order.Review.Id);

            var result = dbContext.Orders.FirstOrDefault(x => x.Id == order.Id).Review == null;

            Assert.True(result);
        }
Exemple #28
0
        public ActionResult SaveItem(Reviews model)
        {
            string       ControllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
            int          IdDC           = Int32.Parse(MyModels.Decode(model.Ids, API.Models.Settings.SecretId + ControllerName).ToString());
            ReviewsModel data           = new ReviewsModel()
            {
                Item = model
            };

            if (ModelState.IsValid)
            {
                if (model.Id == IdDC)
                {
                    model.CreatedBy  = int.Parse(HttpContext.Request.Headers["Id"]);
                    model.ModifiedBy = int.Parse(HttpContext.Request.Headers["Id"]);
                    ReviewsService.SaveItem(model);
                    if (model.Id > 0)
                    {
                        TempData["MessageSuccess"] = "Cập nhật thành công";
                    }
                    else
                    {
                        TempData["MessageSuccess"] = "Thêm mới thành công";
                    }
                    return(RedirectToAction("Index", new {  }));
                }
            }
            else
            {
                data.ListStart = ReviewsService.GetListStart();
            }
            return(View(data));
        }
Exemple #29
0
        public async Task ThrowArgumentException_WhenParametersAreIncorrect(int reviewId)
        {
            // Arrange
            var movieRepoStub     = new Mock <IRepository <Movie> >();
            var reviewRepoMock    = new Mock <IRepository <Review> >();
            var reviewRatingsStub = new Mock <IRepository <ReviewRatings> >();

            var reviewMock = new Review()
            {
                ID        = 1,
                IsDeleted = false,
                Text      = "Mnogo qk Unit Test!"
            };

            var allReviews = new List <Review>()
            {
                reviewMock
            }.AsQueryable().BuildMock().Object;

            reviewRepoMock.Setup(m => m.All()).Returns(allReviews);

            var reviewServices = new ReviewsService(reviewRepoMock.Object, movieRepoStub.Object, reviewRatingsStub.Object);

            // Act and Assert
            await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await reviewServices.DeleteReviewAsync(reviewId));
        }
        public void IsUserCreator_ReturnsCorrectResult()
        {
            // Arrange
            var context = this.ServiceProvider.GetRequiredService <WmipDbContext>();
            var review1 = new Review {
                Id = 1, Title = "r1", UserId = "1"
            };
            var review2 = new Review {
                Id = 2, Title = "r2", UserId = "2"
            };
            var review3 = new Review {
                Id = 3, Title = "r3", UserId = "2"
            };

            context.Reviews.AddRange(review1, review2, review3);
            context.SaveChanges();
            var reviewsService = new ReviewsService(context);

            // Act
            var notCreator = reviewsService.IsUserCreator("1", 2);
            var creator    = reviewsService.IsUserCreator("1", 1);

            //Assert
            Assert.False(notCreator);
            Assert.True(creator);
        }