Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions regression1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
<class name="com.cutanddry.qa.tests.sign_in.VerifyForgotPasswordUnauthorizedTest" />

<class name="com.cutanddry.qa.tests.order_guide.VerifyTheSearchTest" />
<class name="com.cutanddry.qa.tests.order_guide.VerifySearchFeatureAfterEditingItemNameTest" />
<class name="com.cutanddry.qa.tests.order_guide.DeleteItemsFomTheReviewCartTest" />
<class name="com.cutanddry.qa.tests.order_guide.VerifyItemPriceTest" />
<class name="com.cutanddry.qa.tests.order_guide.VerifyCompanyDropdownTest" />
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/cutanddry/qa/functions/Customer.java
Original file line number Diff line number Diff line change
Expand Up @@ -2524,6 +2524,12 @@ public static void clickOnCaseUnit() throws InterruptedException {
public static void saveItem() throws InterruptedException {
customersPage.saveItem();
}
public static String getEditItemNameInputValue() throws InterruptedException {
return customersPage.getEditItemNameInputValue();
}
public static void enterEditItemName(String name) throws InterruptedException {
customersPage.enterEditItemName(name);
}
public static boolean isMultiUomDropDownExistDisplayed(String code)throws InterruptedException{
return customersPage.isMultiUomDropDownExistDisplayed(code);
}
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/com/cutanddry/qa/pages/CustomersPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -726,6 +726,7 @@ public class CustomersPage extends LoginPage {
By orderSummeryShrinked = By.xpath("//*[local-name()='svg' and @data-icon='shopping-cart-03']/../../following-sibling::div/*[local-name()='svg' and @data-icon='chevron-down']");
By caseUnit = By.xpath("//label[text()='Unit']/../following-sibling::div[text()='Case']");
By saveItem = By.xpath("//button[text()='Save Item']");
By lbl_editItemNameInput = By.xpath("//label[text()='Item Name']/following-sibling::input");
By btn_stock = By.xpath("(//span[contains(text(),'Stock')])[1]");
String stockAvailability = "//div[contains(text(),'STOCK')]";
By substitutionsAccessEditBtn = By.xpath("//div[contains(text(), 'Substitutions')]//following-sibling::div//div//*[name()='svg' and contains(@data-icon, 'pen-to-square')]");
Expand Down Expand Up @@ -4525,6 +4526,16 @@ public void saveItem()throws InterruptedException{
distributorUI.click(saveItem);
distributorUI.waitForCustom(15000);
}
public String getEditItemNameInputValue() throws InterruptedException {
distributorUI.waitForVisibility(lbl_editItemNameInput);
return distributorUI.getText(lbl_editItemNameInput, "value");
}
public void enterEditItemName(String name) throws InterruptedException {
distributorUI.waitForVisibility(lbl_editItemNameInput);
distributorUI.clear(lbl_editItemNameInput);
distributorUI.sendKeys(lbl_editItemNameInput, name);
distributorUI.waitForCustom(1000);
}
public boolean isMultiUomDropDownExistDisplayed(String code)throws InterruptedException{
return distributorUI.isDisplayed(By.xpath(multiUomDropDownOGExist.replace("CODE", code)));
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package com.cutanddry.qa.tests.order_guide;

import com.cutanddry.qa.base.TestBase;
import com.cutanddry.qa.data.models.User;
import com.cutanddry.qa.data.testdata.CustomerData;
import com.cutanddry.qa.functions.Customer;
import com.cutanddry.qa.functions.Dashboard;
import com.cutanddry.qa.functions.Login;
import com.cutanddry.qa.utils.JsonUtil;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

public class VerifySearchFeatureAfterEditingItemNameTest extends TestBase {
static User user;
static String customerId = CustomerData.CUSTOMER_CODE2;
static String itemCode = "01700";
static String editedNameSuffix = " Edited";
static String originalItemName;

@BeforeMethod
public void setUp() {
initialization();
user = JsonUtil.readUserLogin();
}

@Test(groups = "DOT-TC-2770")
public void verifySearchFeatureAfterEditingItemName() throws InterruptedException {
SoftAssert softAssert = new SoftAssert();
Login.loginAsDistributor(user.getEmailOrMobile(), user.getPassword());
softAssert.assertTrue(Dashboard.isUserNavigatedToDashboard(), "login error");
Dashboard.navigateToCustomers();
softAssert.assertTrue(Customer.isCustomersTextDisplayed(), "customer section not displayed");
Customer.searchCustomerByCode(customerId);
softAssert.assertTrue(Customer.isCustomerSearchResultByCodeDisplayed(customerId), "customer not found");
Customer.clickOnOrderGuide(customerId);
Customer.goToEdit();
softAssert.assertTrue(Customer.isEditOrderGuideTextDisplayed(), "Edit Order Guide Items page not displayed");
Customer.editItem(itemCode);
softAssert.assertTrue(Customer.isEditItemPopupDisplayed(), "Edit Item popup not displayed");
originalItemName = Customer.getEditItemNameInputValue();
String editedItemName = originalItemName + editedNameSuffix;
Customer.enterEditItemName(editedItemName);
Customer.saveItem();
Customer.closeEditor();
Customer.searchItemOnOrderGuide(editedItemName);
softAssert.assertTrue(Customer.getItemNameFirstRow().contains(editedItemName), "Edited item name not found in search results");

Customer.clearSearchField();
Customer.goToEdit();
Customer.editItem(itemCode);
Customer.enterEditItemName(originalItemName);
Customer.saveItem();
softAssert.assertAll();
}

@AfterMethod
public void tearDown(ITestResult result) {
takeScreenshotOnFailure(result);
closeAllBrowsers();
}
}