Exemplo n.º 1
0
        public ActionResult <ReviewOrder> Review()
        {
            var reviewOrder = new ReviewOrder()
            {
                ShoppingCartProducts = new List <ShoppingCartProduct>(),
                ShippingInfo         = new ShippingInfo(),
                PaymentInfo          = new PaymentInfo()
            };

            reviewOrder.ShoppingCartProducts.AddRange(_getShoppingCartProduct());
            reviewOrder.ShippingInfo.Contact = new Contact()
            {
                FirstName = "Spider", LastName = "Man", Email = "*****@*****.**", Phone = "123-123-1234"
            };
            reviewOrder.ShippingInfo.ShippingAddress = new Address()
            {
                Street = "1234 Worm Street", City = "Spartan", State = "Ohio", Zip = "12345"
            };
            reviewOrder.PaymentInfo.CardInfo = new CardInfo()
            {
                CardNumber = "234234232342423", CardType = "VISA", NameOnCard = "noc", SecurityCode = "sc", ExpirationDate = new ExpirationDate()
                {
                    ExpirationMonth = "", ExpirationYear = ""
                }
            };
            reviewOrder.PaymentInfo.BillingAddress = new Address()
            {
                Street = "1234 Worm Street", City = "Spartan", State = "Ohio", Zip = "12345"
            };

            return(reviewOrder);
        }
        public async Task <IActionResult> List(string order, ReviewFilterViewModel model)
        {
            if (string.IsNullOrEmpty(order))
            {
                order = ReviewOrder.DateDescending.ToString();
            }

            object      reviewObj   = null;
            ReviewOrder reviewOrder = ReviewOrder.DateDescending;

            Enum.TryParse(typeof(ReviewOrder), order, out reviewObj);
            if (reviewObj == null)
            {
                return(NotFound());
            }
            else
            {
                reviewOrder = (ReviewOrder)reviewObj;
            }

            if (model == null)
            {
                return(View(new ReviewListViewModel()
                {
                    Reviews = await this._reviews.GetAllApprovedAsync(reviewOrder)
                }));
            }

            return(View(new ReviewListViewModel()
            {
                Order = reviewOrder,
                Reviews = await this._reviews.GetFilteredReviewsAsync(reviewOrder, model.MinStars, model.MaxStars, model.From, model.To)
            }));
        }
        public void ReviewOrderTest()
        {
            ReviewOrder order = new ReviewOrder(driver);

            Assert.IsTrue(order.Validate().Displayed);
            order.OrderReview();
        }
Exemplo n.º 4
0
        public void ReviewOrderTest()
        {
            log.Info("Checking order");
            ReviewOrder order = new ReviewOrder(driver);

            Assert.IsTrue(order.Validate().Displayed);
            order.OrderReview();
        }
        public void ReviewOrderTest()
        {
            ReviewOrder review = new ReviewOrder(driver);

            review.ReviewAndSave();
            //Validation
            Assert.IsTrue(driver.FindElement(By.Id("ctl00_phBody_SignIn_btnLogin")).Displayed);
        }
Exemplo n.º 6
0
        public void ReviewOderTest()
        {
            ReviewOrder review = new ReviewOrder(driver);

            review.ReviewOrderCheck();
            string url    = "https://www.bookswagon.com/checkout.aspx";
            string actual = driver.Url;

            Assert.AreEqual(url, actual);
        }
Exemplo n.º 7
0
        public async Task <IEnumerable <ReviewDetailsModel> > GetAllApprovedAsync(ReviewOrder order = ReviewOrder.DateDescending, int page = 0, int pageSize = 20)
        {
            IEnumerable <ReviewDetailsModel> reviews = new List <ReviewDetailsModel>();

            if (page > 0)
            {
                reviews = await this._db.Reviews
                          .Where(r => r.IsApproved)
                          .Skip((page - 1) * pageSize)
                          .Take(pageSize)
                          .ProjectTo <ReviewDetailsModel>()
                          .ToListAsync();
            }
            else
            {
                reviews = await this._db.Reviews
                          .Where(r => r.IsApproved)
                          .ProjectTo <ReviewDetailsModel>()
                          .ToListAsync();
            }

            switch (order)
            {
            case ReviewOrder.StarsAscending:
                return(reviews.OrderBy(r => r.Score));

            case ReviewOrder.StarsDescending:
                return(reviews.OrderByDescending(r => r.Score));

            case ReviewOrder.DateAscending:
                return(reviews.OrderBy(r => r.ReviewedOn));

            case ReviewOrder.DateDescending:
                return(reviews.OrderByDescending(r => r.ReviewedOn));

            default:
                return(reviews);
            }
        }
Exemplo n.º 8
0
        public async Task <IEnumerable <ReviewDetailsModel> > GetFilteredReviewsAsync(ReviewOrder order, float?minStars = null, float?maxStars = null, DateTime?from = null, DateTime?to = null)
        {
            if (minStars == null)
            {
                minStars = 0;
            }

            if (maxStars == null)
            {
                maxStars = 5;
            }

            if (from == null)
            {
                from = new DateTime(1, 1, 1);
            }

            if (to == null)
            {
                to = DateTime.Now;
            }

            var reviews = await this._db.Reviews
                          .Where(r => r.IsApproved)
                          .Where(r => r.Score >= minStars * 2 && r.Score <= maxStars * 2)
                          .Where(r => r.ReviewedOn.CompareTo(from) >= 0)
                          .Where(r => r.ReviewedOn.CompareTo(to) <= 0)
                          .ProjectTo <ReviewDetailsModel>()
                          .ToListAsync();

            switch (order)
            {
            case ReviewOrder.StarsAscending:
                return(reviews.OrderBy(r => r.Score));

            case ReviewOrder.StarsDescending:
                return(reviews.OrderByDescending(r => r.Score));

            case ReviewOrder.DateAscending:
                return(reviews.OrderBy(r => r.ReviewedOn));

            case ReviewOrder.DateDescending:
                return(reviews.OrderByDescending(r => r.ReviewedOn));

            default:
                return(reviews);
            }
        }
Exemplo n.º 9
0
        public async Task TestListOrderbyRating(int firstShownRating, int lastShownRating, ReviewOrder reviewOrder)
        {
            // Arrange
            using var dbContext = GetBookSellerContext($"{nameof(ReviewTests)}_{nameof(TestListOrderbyRating)}_{reviewOrder}", 1, 1, 2);

            var firstReview = dbContext.Review.First();
            var lastReview  = dbContext.Review.Last();

            firstReview.Rating = lastShownRating;
            lastReview.Rating  = firstShownRating;
            dbContext.SaveChanges();

            var controller = new BooksController(dbContext);

            // Act
            var response = await controller.ListReviews(1, new ReviewsFilter { OrderBy = reviewOrder });

            // Assert
            Assert.Equal(reviewOrder, response.Value.OrderedBy);
            Assert.Equal(lastReview.Id, response.Value.Items.First().Id);
            Assert.Equal(firstReview.Id, response.Value.Items.Last().Id);
        }