Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        public void DeleteReviewShould_ReturnFalseIfInvalidReviewId()
        {
            var options = new DbContextOptionsBuilder <CarRentalDbContext>()
                          .UseInMemoryDatabase(databaseName: "CarRental_Database_DeleteReviewInvalidId")
                          .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 ordersServiceMock = new Mock <IOrdersService>();

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

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

            var result = reviewsService.DeleteReview(random.Next(1, 10)).GetAwaiter().GetResult();

            Assert.False(result);
        }
Exemplo n.º 3
0
        public async void DeleteReview()
        {
            DbContextOptions <LoveThemBackAPIDbContext> options =
                new DbContextOptionsBuilder <LoveThemBackAPIDbContext>().UseInMemoryDatabase("DeletePet")
                .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);

                ServicesCreate.DeleteReview(2, 1);
                var getReview = context.Reviews.FirstOrDefault(x => x.PetID == 1 && x.UserID == 2);

                Assert.Null(getReview);
            }
        }