/// <summary> /// Click, Clear and Input Text to Reviewer Name Input on page /// Uses Fluent Interface so you can use page again /// </summary> /// <param name="productReview">Data that represents reveiw in IProduct Review fromat</param> /// <returns>ProductPageReviewLogic page</returns> public ProductPageReviewLogic ClickClearAndInputToReviewerNameInput(IProductReview productReview) { ProductPageReview.ClickOnReviewerNameInput(); ProductPageReview.ClearReviewerNameInput(); ProductPageReview.InputTextToReviewerNameInput(productReview); return(this); }
/// <summary> /// Checks if data on page is equal to some obj /// </summary> /// <param name="obj">Can be IProductReview or ReviewItem, represents Review that will be checked to equals</param> /// <returns>True is two reviews data are equal and false if not</returns> public override bool Equals(object obj) { if (obj == null) { return(false); } else if (obj is IProductReview) { IProductReview productReview = obj as IProductReview; return(GetTextFomProductNameInput().Equals(productReview.GetProductName()) && GetTextFomReviewerNameInput().Equals(productReview.GetReviewerName()) && GetDateFomReviewDateInput().Equals(productReview.GetDate()) && GetSelectedRating().Equals(productReview.GetRating())); } else if (obj is ReviewItem) { ReviewItem productReview = obj as ReviewItem; return(GetTextFomProductNameInput().Equals(productReview.GetProductName()) && GetTextFomReviewerNameInput().Equals(productReview.GetReviewerName()) && GetDateFomReviewDateInput().Equals(productReview.GetReviewDate()) && GetSelectedRating().Equals(productReview.GetReviewRaiting())); } else { return(false); } }
public Member() { Response = System.Web.HttpContext.Current.Response; Request = System.Web.HttpContext.Current.Request; Server = System.Web.HttpContext.Current.Server; Session = System.Web.HttpContext.Current.Session; Application = System.Web.HttpContext.Current.Application; tools = ToolsFactory.CreateTools(); MyMember = MemberFactory.CreateMember(); Mygrade = MemberGradeFactory.CreateMemberGrade(); MyMemLog = MemberLogFactory.CreateMemberLog(); encrypt = EncryptFactory.CreateEncrypt(); MyConsumption = MemberConsumptionFactory.CreateMemberConsumption(); MyFavor = MemberFavoritesFactory.CreateMemberFavorites(); MyProduct = ProductFactory.CreateProduct(); MyPackage = PackageFactory.CreatePackage(); MyReview = ProductReviewFactory.CreateProductReview(); MyFeedback = FeedBackFactory.CreateFeedBack(); MyAddr = MemberAddressFactory.CreateMemberAddress(); MyCart = OrdersGoodsTmpFactory.CreateOrdersGoodsTmp(); MyCoupon = PromotionFavorCouponFactory.CreatePromotionFavorCoupon(); // MyEmail = U_EmailNotifyRequestFactory.CreateU_EmailNotifyRequest(); MyAccountLog = MemberAccountLogFactory.CreateMemberAccountLog(); MyShop = SupplierShopFactory.CreateSupplierShop(); pageurl = new PageURL(int.Parse(Application["Static_IsEnable"].ToString())); }
public void TestCase649AddReviewTest(IProductReview review) { Application.Get().Browser.OpenUrl(URL); HomePage homePage; Assert.DoesNotThrow(() => { homePage = new HomePage(); }, "Step 1 Failed: Not home page"); List <ProductItem> searchPage = new SearchMethods() .Search(review.GetProductName()) .GetListProduct(); Assert.True(searchPage.Any(), "Step 3 Failed: No search results"); ProductPageLogic productPage = searchPage .FirstOrDefault(x => x.GetTextFromProductName() == review.GetProductName()) .ClickProductName(); Assert.True(productPage.ProductPage.IsProductPageOf(review), $"Step 4 Failed: Not {review.GetProductName()} product page"); ProductPageReviewLogic productReviewPage = productPage.ProductPage.ClickWriteReviewLink(); Assert.True(productReviewPage.ProductPageReview.IsReviewPage(), "Step 5 Failed: Not reviews page"); SuccessfullyAddedReviewPage addedReview = productReviewPage.InputValidReviewAndClickOnAddReviewButton(review); Assert.AreEqual(addedReview.GetTextFromSuccessAllert(), REVIEW_ADDED_ALERT_TEXT, "Step 6 Failed: " + REVIEW_ADDED_ALERT_TEXT + " message not appeared"); TestCase649 = true; }
public void TestCase670AproveReviewTest(IProductReview review, IUser user) { Assert.IsTrue(TestCase649, "Blocked. Preconditions fail: add review test failed"); Application.Get().Browser.OpenUrl(ADMIN_URL); LoginPageLogic loginPage = new LoginPageLogic(); Assert.True(loginPage.LoginPage.IsLoginPage(), "Step 1 Failed: Not login page"); AdminPageLogic homePage = loginPage.InputValidUserAndLogin(user); Assert.AreEqual(homePage.Header.GetTextFromCurnetPageLable(), ADMIN_HOME_PAGE_NAME, "Step 2 Failed: Not admin home page"); Catalog catalog = homePage.Navigation.ClickOnCatalogLink(); ReviewsPageLogic reviewsPage = catalog.ClickOnReviewLink(); Assert.True(reviewsPage.ReviewsPage.IsReviewsPage(), "Step 3 Failed: Not reviews page"); EditReviewPageLogic page2 = reviewsPage.EditReviewThatEqualsTo(review); Assert.True(page2.EditReviewPage.IsEditReviewPage(), "Step 4 Failed: Not edit review page"); ReviewsPageSuccessAllert successfullyModifiedReview = page2.EnableReview(); Assert.True(successfullyModifiedReview.IsReviewModified(), "Step 5 Failed: Review wasn't approved"); TestCase670 = true; }
public void TestCase704VerifyInvalidTextMessage(IProductReview validReview, IProductReview invalidReview) { Application.Get().Browser.OpenUrl(URL); HomePage homePage; Assert.DoesNotThrow(() => { homePage = new HomePage(); }, "Step 1 Failed: Not home page"); List <ProductItem> searchPage = new SearchMethods() .Search(validReview.GetProductName()) .GetListProduct(); Assert.True(searchPage.Any(), "Step 3 Failed: No search results"); ProductPageLogic productPage = searchPage .FirstOrDefault(x => x.GetTextFromProductName() == validReview.GetProductName()) .ClickProductName(); Assert.True(productPage.ProductPage.IsProductPageOf(validReview), $"Step 4 Failed: Not {validReview.GetProductName()} product page"); ProductPageReviewLogic productReviewPage = productPage.ProductPage.ClickWriteReviewLink(); Assert.True(productReviewPage.ProductPageReview.IsReviewPage(), "Step 5 Failed: Not reviews page"); UnsuccessfullyAddedReviewPage emptyReviewTextAlertPage = productReviewPage.InputReviewWithInvalidReviewTextAndClickOnAddReviewButton(validReview, invalidReview); Assert.AreEqual(emptyReviewTextAlertPage.GetTextFromWarningAlert(), INVALID_REVIEW_TEXT_ALERT_TEXT, "Step 7 Failed: " + INVALID_REVIEW_TEXT_ALERT_TEXT + " message not appeared"); }
/// <summary> /// Checks if review data is equal to another. Support IProductReview or ReviewItem /// </summary> /// <param name="obj">Can be IProductReview or ReviewItem</param> /// <returns>true if review data equals to obj data</returns> public override bool Equals(object obj) { if (obj == null) { return(false); } else if (obj is IProductReview) { IProductReview productReview = obj as IProductReview; return(this.GetProductName().Equals(productReview.GetProductName()) && this.GetReviewerName().Equals(productReview.GetReviewerName()) && this.GetReviewDate().Equals(productReview.GetDate()) && this.GetReviewRaiting().Equals(productReview.GetRating())); } else if (obj is ReviewItem) { ReviewItem productReview = obj as ReviewItem; return(this.GetProductName().Equals(productReview.GetProductName()) && this.GetReviewerName().Equals(productReview.GetReviewerName()) && this.GetReviewDate().Equals(productReview.GetReviewDate()) && this.GetReviewRaiting().Equals(productReview.GetReviewRaiting())); } else { return(false); } }
/// <summary> /// Click, Clear and Input Text to Reviewer Name Input on page /// Click, Clear and Input Text to Review Text Input on page /// Select rating /// Click on add review buuton /// </summary> /// <param name="productReview">Valid data that represents reveiw in IProduct Review fromat</param> /// <returns>SuccessfullyAddedReviewPage page</returns> public SuccessfullyAddedReviewPage InputValidReviewAndClickOnAddReviewButton(IProductReview productReview) { ClickClearAndInputToReviewerNameInput(productReview); ClickClearAndInputToReviewTextInput(productReview); ProductPageReview.SelectRating(productReview); ProductPageReview.ClickOnAddReviewButton(); return(new SuccessfullyAddedReviewPage()); }
/// <summary> /// Deletes all review on the page that equals to some review /// </summary> /// <param name="productReview">Review data in IProductReview format</param> /// <returns>ReviewsPageSuccessAllert page</returns> public ReviewsPageSuccessAllert DeleteAllReviewsThatEqualsTo(IProductReview productReview) { foreach (ReviewItem item in ReviewsPage.GetReviewsListIfAnyExists().Where(x => x.Equals(productReview))) { item.SelectReview(); } ReviewsPage.DeleteReview(); return(new ReviewsPageSuccessAllert()); }
/// <summary> /// Eneble review if it is equalt to another /// </summary> /// <param name="productReview">Review data in IProductReview format</param> /// <returns>ReviewsPageSuccessAllert page if review equals and null if not</returns> public ReviewsPageSuccessAllert EnableReviewIfEqualsTo(IProductReview productReview) { if (EditReviewPage.Equals(productReview)) { return(EnableReview()); } else { return(null); } }
/// <summary> /// Open edit review page if these review is on page /// </summary> /// <param name="productReview">Review data in IProductReview format</param> /// <returns>EditReviewPageLogic page if review exist and null if not</returns> public EditReviewPageLogic EditReviewThatEqualsTo(IProductReview productReview) { ReviewItem tmp = ReviewsPage.GetReviewsListIfAnyExists().FirstOrDefault(x => x.Equals(productReview)); if (tmp != null) { tmp.ClickOnEditLink(); return(new EditReviewPageLogic()); } else { return(null); } }
public ProductReview() { //初始化ASP.NET内置对象 Response = System.Web.HttpContext.Current.Response; Request = System.Web.HttpContext.Current.Request; Server = System.Web.HttpContext.Current.Server; Session = System.Web.HttpContext.Current.Session; Application = System.Web.HttpContext.Current.Application; tools = ToolsFactory.CreateTools(); Myconfig = ProductReviewConfigFactory.CreateProductReviewConfig(); Myreview = ProductReviewFactory.CreateProductReview(); MyMem = MemberFactory.CreateMember(); Myproduct = ProductFactory.CreateProduct(); }
public void TestCase672CheckReviewTest(IProductReview review) { Assert.IsTrue(TestCase649 && TestCase670, "Blocked. Preconditions fail: add review test failed or approve review test failed"); Application.Get().Browser.OpenUrl(URL); HomePage homePage; Assert.DoesNotThrow(() => { homePage = new HomePage(); }, "Step 1 Failed: Not home page"); List <ProductItem> searchPage = new SearchMethods() .Search(review.GetProductName()) .GetListProduct(); Assert.True(searchPage.Any(), "Step 3 Failed: No search results"); ProductPageLogic productPage = searchPage .FirstOrDefault(x => x.GetTextFromProductName() == review.GetProductName()) .ClickProductName(); Assert.True(productPage.ProductPage.IsProductPageOf(review), $"Step 4 Failed: Not {review.GetProductName()} product page"); ProductPageReviewLogic productReviewPage = productPage.ProductPage.ClickWriteReviewLink(); Assert.True(productReviewPage.ProductPageReview.IsReviewPage(), "Step 5 Failed: Not reviews page"); bool hasReview = productReviewPage.ProductPageReview.ReviewExistInListOfReview(review); Assert.True(hasReview, "Step 6 Failed: Review not exist"); }
/// <summary> /// Check is review exist in ReviewsList /// </summary> /// <param name="productReview">Data tha represent product review in IProductReview format</param> /// <returns>true if exist and false if not</returns> public bool ReviewExistInListOfReview(IProductReview productReview) { return(GetReviewsListInAnyReviewExist().Where(x => x.Equals(productReview)).Any()); }
/// <param name="productReview">Data tha represent product review in IProductReview format</param> public void SelectRating(IProductReview productReview) { RatingInputList.FirstOrDefault(x => Convert.ToInt32(x.GetAttribute("value")) == productReview.GetRating().ToInt()).Click(); }
/// <summary> /// Inputs text to Review Text Input /// </summary> /// <param name="productReview">Data tha represent product review in IProductReview format</param> public void InputTextToReviewInput(IProductReview productReview) { ReviewTextInput.SendKeys(productReview.GetReviewText()); }
/// <summary> /// Inputs text to Reviewr Name Input /// </summary> /// <param name="productReview">Data tha represent product review in IProductReview format</param> public void InputTextToReviewerNameInput(IProductReview productReview) { ReviewerNameInput.SendKeys(productReview.GetReviewerName()); }
/// <summary> /// Check is it product page of specific product /// </summary> /// <param name="productReview">Produc review in IProductReview format</param> /// <returns>True if product name equals and false if not</returns> public bool IsProductPageOf(IProductReview productReview) { return(GetTextFromProductName().Equals(productReview.GetProductName())); }
/// <summary> /// Click, Clear and Input valid Text to Review Name Input on page /// Click, Clear and Input invalid Text to Review Text Input on page /// Select valid rating /// Click on add review buuton /// </summary> /// <param name="validReview">Valid data that represents reveiw in IProduct Review fromat</param> /// <param name="invalidReview">Invalid data that represents reveiw in IProduct Review fromat</param> /// <returns>UnsuccessfullyAddedReviewPage page</returns> public UnsuccessfullyAddedReviewPage InputReviewWithInvalidReviewTextAndClickOnAddReviewButton(IProductReview validReview, IProductReview invalidReview) { ClickClearAndInputToReviewerNameInput(validReview); ClickClearAndInputToReviewTextInput(invalidReview); ProductPageReview.SelectRating(validReview); ProductPageReview.ClickOnAddReviewButton(); return(new UnsuccessfullyAddedReviewPage()); }
/// <summary> /// Click, Clear and Input Text to Reviewer Name Input on page /// Click, Clear and Input Text to Review Text Input on page /// Click on add review buuton /// </summary> /// <param name="productReview">Data that represents reveiw in IProduct Review fromat</param> /// <returns>UnsuccessfullyAddedReviewPage page</returns> public UnsuccessfullyAddedReviewPage InputReviewWithoutRatingAndClickOnAddReviewButton(IProductReview productReview) { ClickClearAndInputToReviewerNameInput(productReview); ClickClearAndInputToReviewTextInput(productReview); ProductPageReview.ClickOnAddReviewButton(); return(new UnsuccessfullyAddedReviewPage()); }