{"action":"created","comment":{"url":"https://api.github.com/repos/Orasi/Xeeva/pulls/comments/80471964","id":80471964,"diff_hunk":"@@ -1,438 +1,448 @@\n-package com.xeeva.catalog;\r\n-\r\n-import java.util.List;\r\n-import java.util.ResourceBundle;\r\n-\r\n-import org.openqa.selenium.By;\r\n-import org.openqa.selenium.WebDriver;\r\n-import org.openqa.selenium.WebElement;\r\n-import org.openqa.selenium.support.FindBy;\r\n-import org.openqa.selenium.support.ui.ExpectedConditions;\r\n-import org.openqa.selenium.support.ui.Select;\r\n-import org.openqa.selenium.support.ui.WebDriverWait;\r\n-import com.orasi.core.interfaces.Button;\r\n-import com.orasi.core.interfaces.Element;\r\n-import com.orasi.core.interfaces.Label;\r\n-import com.orasi.core.interfaces.Link;\r\n-import com.orasi.core.interfaces.Listbox;\r\n-import com.orasi.core.interfaces.Textbox;\r\n-import com.orasi.core.interfaces.impl.internal.ElementFactory;\r\n-import com.orasi.utils.AlertHandler;\r\n-import com.orasi.utils.Constants;\r\n-import com.orasi.utils.OrasiDriver;\r\n-import com.orasi.utils.Sleeper;\r\n-import com.orasi.utils.TestReporter;\r\n-import com.orasi.utils.date.DateTimeConversion;\r\n-\r\n-/**\r\n- * @summary This page contains Cost Center page objects\r\n- * @author  Lalitha Banda\r\n- * @date    15/09/16\r\n- */\r\n-\r\n-public class CostCenterPage {\r\n-\r\n-\tprivate OrasiDriver driver = null;\r\n-\tprivate ResourceBundle userCredentialRepo = ResourceBundle.getBundle(Constants.USER_CREDENTIALS_PATH);\r\n-\tString xpath = \".//*[@id='customfa']/tbody/tr/td/select\";\r\n-\r\n-\t/**Page Elements**/\r\n-\t@FindBy(id =\"countrydivcontainer\") private Element costCenterContainer;\t\r\n-\t@FindBy(xpath=\"//*[@id='customfa']/tbody\") private WebElement tblCostCenterInfo;\r\n-\t@FindBy(id =\"ddlApplyCC\") private Listbox lstCostCenterHeaderLevel;\r\n-\t@FindBy(className =\"fa fa-calendar cursor-pointer font16px\") private Button btnCalender;\r\n-\t@FindBy(id =\"txtRequiredby\") private Textbox txtRequiredBy;\r\n-\t@FindBy(xpath=\"//*[@title='Internal Comment']\") private List<WebElement> lstInternalCommentGrid;\r\n-\t@FindBy(id =\"txtInternalComment\") private Textbox txtInternalComment;\r\n-\t@FindBy(id =\"btnSaveComments\") private Button btnSaveComments;\r\n-\t@FindBy(id =\"txtShowFullComment\") private Textbox txtShowFullComment;\r\n-\t@FindBy(xpath=\"//*[@id='txtShowFullComment']\") private List<WebElement> txtCommentDisplayed;\r\n-\t@FindBy(id =\"fancybox-close\") private Button btnClosePopUp;\r\n-\t@FindBy(xpath=\"//*[@title='Copy Item']\") private List<WebElement> lstCopyItemGrid;\r\n-\t@FindBy(xpath=\".//*[@class='gridtextLink']\") private List<WebElement> lstItemNoGrid;\r\n-\t@FindBy(css=\".costCentername\") private Label lblCC;\r\n-\t@FindBy(xpath=\".//*[@id='customfa']/tbody/tr/td/input[@class='QtyNumericTextBoxClass']\") private List<WebElement> lstQty;\r\n-\t@FindBy(xpath=\".//*[@title='Save changes']\") private List<WebElement> lstSave;\r\n-\t@FindBy(xpath=\"//div[@id='divAppInfoMsg'][@class='addMessage']\") private Label conformationMsg;\r\n-\t@FindBy(xpath=\".//*[@value='Save Cart']\") private WebElement btnSaveCart;\r\n-\r\n-\t@FindBy(xpath=\"//td[2]/a[1]/input\") private Button btnSaveCartCC;\r\n-\t@FindBy(xpath=\"//tr[2]/td[2]/a[2]/input\") private Button btnShopMoreItemsCC;\r\n-\t@FindBy(xpath=\"//*[@id='btnCheckOut']/input\") private Button btnContinueCheckoutCC;\r\n-\t@FindBy(xpath=\".//*[@id='customfa']/tbody/tr/td/select\") private List<Listbox> ddCCLineLevel;\r\n-\t@FindBy(xpath=\"//*[@id='tblbasicTable']/tbody/tr/td/div/a\") private List<WebElement> lstSelectCC;\r\n-\t@FindBy(xpath=\"//*[@id='tblbasicTable']/tbody/tr/td/div/span\") private List<WebElement> lstSelectCCValue;\r\n-\r\n-\r\n-\r\n-\t@FindBy(xpath=\"//table[@id='customfa']/tbody/tr/td/table/tbody/tr/td/input\") private List<WebElement> dateCCInputLineLevel;\r\n-\t@FindBy(xpath=\"//table[@id='customfa']/tbody/tr/td/table/tbody/tr/td/i\") private List<WebElement> dateCCLineLevel;\r\n-\t@FindBy(xpath=\"//div[@id='divAPRPARList']/ul/li[4]/i\") private Link lnkDateCC_HeaderLvel;\r\n-\r\n-\t@FindBy(xpath=\"//div[@id='divAppInfoMsg'][@class='addMessage']\") private Label lblCartItemAddedMessage;\r\n-\t@FindBy(xpath=\"//input[@id='txtRequiredby']\") private Textbox txtReqByHeaderLevel;\r\n-\r\n-\t/**Constructor**/\r\n-\tpublic CostCenterPage(OrasiDriver driver){\r\n-\t\tthis.driver = driver;\r\n-\t\tElementFactory.initElements(driver, this);\r\n-\t}\r\n-\r\n-\r\n-\tpublic void pageLoaded(){\r\n-\t\tcostCenterContainer.syncVisible(20, false);\r\n-\t}\r\n-\r\n-\t/**Page Interactions**/\r\n-\r\n-\r\n-\t/**\r\n-\t * @summary Clicking Internal Comment Link\r\n-\t * @author  Lalitha Banda\r\n-\t * @date    15/09/16\r\n-\t */\r\n-\tpublic void click_InternalComment(){\r\n-\t\tpageLoaded();\r\n-\t\tdriver.executeJavaScript(\"arguments[0].click();\", lstInternalCommentGrid.get(0));\r\n-\t\t//lstInternalCommentGrid.get(0).click();\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary Clicking CopyItem Link\r\n-\t * @author  Lalitha Banda\r\n-\t * @date    15/09/16\r\n-\t */\r\n-\tpublic void click_CopyItemLink(){\r\n-\t\tSleeper.sleep(5000);\r\n-\t\tlstCopyItemGrid.get(0).click();\r\n-\t}\r\n-\r\n-\r\n-\t/**\r\n-\t * @summary Adding Internal Comment\r\n-\t * @author  Lalitha Banda\r\n-\t * @date    15/09/16\r\n-\t */\r\n-\tpublic void AddInternalComment(String InternalComment){\r\n-\t\tlblCC.syncVisible(30, false);\r\n-\t\tlblCC.isDisplayed();\r\n-\t\tclick_InternalComment();\r\n-\t\ttxtInternalComment.safeSet(InternalComment);\r\n-\t\tbtnSaveComments.click();\r\n-\r\n-\t\tif(txtCommentDisplayed.size()>0){\r\n-\t\t\tfor(WebElement fullComment :txtCommentDisplayed){\r\n-\t\t\t\tString Expected = fullComment.getText();\r\n-\t\t\t\tTestReporter.logStep(\"Actual :\"+ InternalComment + \": \" + \"Expected : \"+ Expected);\r\n-\t\t\t\tTestReporter.assertTrue(Expected.equals(InternalComment), \"Internal Comment Displayed is Verified!!\");\r\n-\t\t\t\tbreak;\r\n-\t\t\t}\r\n-\t\t}else{\r\n-\t\t\tTestReporter.assertTrue(false, \"Internal Comment Wrongly Displayed\");\r\n-\t\t}\r\n-\t\tdriver.setPageTimeout(2);\r\n-\t\tbtnClosePopUp.click();\r\n-\t}\r\n-\r\n-\r\n-\t// Method to change Quantity \r\n-\tpublic void changeQuantity(String QtyValue ,WebElement inputElement){\r\n-\t\tlstQty.get(0).clear();\r\n-\t\tlstQty.get(0).sendKeys(QtyValue);\r\n-\t\tdriver.executeJavaScript(\"arguments[0].click();\",inputElement);\r\n-\t\tSleeper.sleep(5000);\r\n-\t\tSystem.out.println(\"Total size : \"+lstQty.size());\r\n-\t\tString updatedQty =lstQty.get((lstQty.size()-1)).getAttribute(\"value\");\r\n-\t\tTestReporter.assertTrue(updatedQty.equalsIgnoreCase(QtyValue), \"Quantity Updated Successfully!!\");\r\n-\t}\r\n-\r\n-\tpublic void VerifyDelete(){\r\n-\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary Method to verify Cost Center\r\n-\t * @author  Lalitha Banda\r\n-\t * @date    20/09/16\r\n-\t */\r\n-\t/**\r\n-\t * @param verifyType\r\n-\t * @param itemNumber\r\n-\t * @param CCValue\r\n-\t * @param QuantityValue\r\n-\t * @return\r\n-\t */\r\n-\tpublic boolean verifyCostCenter(String verifyType,String itemNumber,String CCValue,String QuantityValue){\r\n-\t\tboolean statusFlag = false;\r\n-\t\tList<WebElement> readLinks = driver.findElements(By.xpath(\".//*[@id='customfa']/tbody/tr/td[1]/a\"));\r\n-\t\tList<WebElement> readSelects = driver.findElements(By.xpath(\".//*[@id='customfa']/tbody/tr/td/select\"));\r\n-\t\tList<WebElement> readDeleteIcons = driver.findElements(By.xpath(\".//*[@title='Delete']\"));\r\n-\r\n-\t\tswitch(verifyType.toLowerCase()){\r\n-\t\tcase \"linelevel\":\r\n-\t\t\tfor(WebElement inputLink : readLinks){\r\n-\t\t\t\tfor(WebElement inputSelects: readSelects){\r\n-\t\t\t\t\tString updatedCC = new Select(inputSelects).getFirstSelectedOption().getText();\r\n-\t\t\t\t\tif(inputLink.getText().equalsIgnoreCase(itemNumber) &&updatedCC.equalsIgnoreCase(CCValue)){\r\n-\t\t\t\t\t\tstatusFlag = true;\t\t\t\r\n-\t\t\t\t\t\tbreak;\r\n-\t\t\t\t\t}\r\n-\t\t\t\t}\r\n-\t\t\t}\r\n-\r\n-\t\t\tbreak;\r\n-\r\n-\t\tcase \"headerlevel\": \r\n-\t\t\tfor(int i=0;i<readSelects.size();i++){\r\n-\t\t\t\tString ExpectedCC = new Select(readSelects.get(i)).getFirstSelectedOption().getText();\r\n-\t\t\t\tif(ExpectedCC.equalsIgnoreCase(CCValue)){\r\n-\t\t\t\t\tstatusFlag =true;\r\n-\t\t\t\t}\r\n-\t\t\t}\r\n-\t\t\tbreak;\r\n-\r\n-\t\tcase \"copyitem\":\r\n-\t\t\tfor(WebElement input :readSelects){\r\n-\t\t\t\tif(new Select(input).getFirstSelectedOption().getText().contains(CCValue)){\r\n-\t\t\t\t\tString randomID =input.getAttribute(\"id\").replaceAll(\"\\\\D+\", \"\");\r\n-\t\t\t\t\tWebElement element = driver.findElement(By.xpath(\".//*[@id='trCCRow_\"+randomID+\"']/td[9]\"));\r\n-\t\t\t\t\tdriver.executeJavaScript(\"arguments[0].click();\", element);\r\n-\t\t\t\t\tif(txtShowFullComment.isDisplayed()){\r\n-\t\t\t\t\t\tTestReporter.assertTrue(false, \"Copied Item having Internal Comments\");\r\n-\t\t\t\t\t}else{\r\n-\t\t\t\t\t\tTestReporter.assertTrue(true, \"Copied Item is not having Internal Comments\");\r\n-\t\t\t\t\t}\r\n-\t\t\t\t}\r\n-\t\t\t}\r\n-\t\t\tbreak;\r\n-\r\n-\t\tcase \"quantity\": \r\n-\t\t\t// Change Quantity - Line Level record\r\n-\t\t\tchangeQuantity(QuantityValue,lstSave.get(0));\r\n-\t\t\tbreak;\r\n-\t\tcase \"savecart\": \r\n-\t\t\t// Verify Save Cart \r\n-\t\t\tchangeQuantity(QuantityValue,btnSaveCart);\r\n-\t\t\tbreak;\r\n-\r\n-\t\tcase \"delete\":\r\n-\t\t\t// Perform Delete \r\n-\t\t\tint sizeBeofreDelete =lstQty.size();\r\n-\t\t\tdriver.executeJavaScript(\"arguments[0].click();\", readDeleteIcons.get(0));\r\n-\t\t\t//Handle Alert if present\r\n-\t\t\tif(AlertHandler.isAlertPresent(driver, 6)){\r\n-\t\t\t\tAlertHandler.handleAlert(driver, 6);\r\n-\t\t\t}\r\n-\t\t\t// Verify Delete \r\n-\t\t\tSleeper.sleep(9000);\r\n-\t\t\tint sizeAfterDelete =lstQty.size();\r\n-\t\t\tTestReporter.assertTrue(sizeAfterDelete<sizeBeofreDelete, \"Item Deleted Successfully!!\");\r\n-\t\t\tbreak;\r\n-\t\tdefault : System.out.println();\r\n-\r\n-\t\t}\r\n-\t\treturn statusFlag;\r\n-\t}\r\n-\r\n-\r\n-\r\n-\t/**\r\n-\t * @summary: Method to get the date as per the daysout value.\r\n-\t * @param daysOut\r\n-\t * @return\r\n-\t */\r\n-\tpublic String getDate(String daysOut){\r\n-\t\tDateTimeConversion dteTimeCon = new DateTimeConversion();\r\n-\t\tString setDaysOut = dteTimeCon.getDaysOut(daysOut, \"MM/dd/yyyy\").toString();\r\n-\t\tTestReporter.logStep(\"No. of days-out : \" + daysOut);\r\n-\t\t//System.out.println(\"Date : \"+setDaysOut);\r\n-\t\treturn setDaysOut;\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary Method to change Cost Center\r\n-\t * @author  Lalitha Banda\r\n-\t * @date    16/09/16\r\n-\t */\r\n-\tpublic void change_CC(String changeType,String CC){\r\n-\t\t// after cart check out, application taking time to load cost center page \r\n-\t\tlblCC.syncVisible(30, false);\r\n-\t\tlblCC.isDisplayed();\r\n-\t\tswitch(changeType.toLowerCase()){\r\n-\r\n-\t\tcase \"linelevel\" : \r\n-\t\t\tTestReporter.logStep( \"CC before updation : \"+ddCCLineLevel.get(0).getFirstSelectedOption().getText());\r\n-\t\t\t//Read item number here\r\n-\t\t\tString randomID =ddCCLineLevel.get(0).getAttribute(\"id\").replaceAll(\"\\\\D+\", \"\");\r\n-\t\t\tString itemNumber = driver.findElement(By.xpath(\".//*[@id='trCCRow_\"+randomID+\"']/td/a\")).getText();\r\n-\t\t\tTestReporter.logStep(\"itemNumber :\"+ itemNumber);\r\n-\t\t\tddCCLineLevel.get(0).select(CC);\r\n-\t\t\tSystem.out.println(verifyCostCenter(changeType,itemNumber,CC,null));\r\n-\t\t\tTestReporter.assertTrue(verifyCostCenter(changeType,itemNumber,CC,null),\"Cost Center Updated at Line Level Successfully!!\");\r\n-\t\t\tbreak;\r\n-\r\n-\t\tcase \"headerlevel\" :\r\n-\t\t\tlstCostCenterHeaderLevel.select(CC);\r\n-\t\t\t//Handle Alert if present\r\n-\t\t\tif(AlertHandler.isAlertPresent(driver, 6)){\r\n-\t\t\t\tAlertHandler.handleAlert(driver, 6);\r\n-\t\t\t}\r\n-\t\t\tSystem.out.println(verifyCostCenter(changeType,null,CC,null));\r\n-\t\t\tTestReporter.assertTrue( verifyCostCenter(changeType,null,CC,null),\"Cost Center Updated at Header Level Successfully!!\");\r\n-\t\t\tbreak;\r\n-\r\n-\t\tdefault : System.out.println();\r\n-\t\t}\r\n-\t}\r\n-\r\n-\tpublic String selectCCToCopyItem(){\r\n-\t\tdriver.setPageTimeout(4);\r\n-\t\tString ccValue = lstSelectCCValue.get(0).getText();\r\n-\t\tSystem.out.println(\"CostCenter Name \"+lstSelectCCValue.get(0).getText());\r\n-\t\tSleeper.sleep(5000);\r\n-\t\tdriver.executeJavaScript(\"arguments[0].click();\", lstSelectCC.get(0));\r\n-\t\tSleeper.sleep(5000);\r\n-\t\treturn ccValue;\r\n-\t}\r\n-\r\n-\tpublic String readItemNuber(){\r\n-\t\treturn lstItemNoGrid.get(0).getText();\r\n-\t}\r\n-\r\n-\r\n-\r\n-\t/**\r\n-\t * @summary: Method to get the RequiredByDate from textbox at CC_line-level.\r\n-\t * @author: Praveen Namburi, @Version: Created 21-09-2016\r\n-\t * @return getReqByDate\r\n-\t */\r\n-\tpublic String getReqByDateAtLineLevel(){\r\n-\t\tString getRequreDate = \"\";\r\n-\t\tList<WebElement> reqByDates = dateCCInputLineLevel;\r\n-\t\tfor(WebElement reqByDate : reqByDates){\r\n-\t\t\tString getReqByDate_beforeChange1 = reqByDate.getAttribute(\"value\");\r\n-\t\t\t//System.out.println(getReqByDate_beforeChange1);\r\n-\t\t\tgetRequreDate=getReqByDate_beforeChange1;\r\n-\t\t\tbreak;\r\n-\t\t}\r\n-\t\treturn getRequreDate;\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary: Method to verify the RequiredBydate has been updated Successfully at CC_level.\r\n-\t * @author: Praveen Namburi, @version: Created 21-09-2016.\r\n-\t */\r\n-\tpublic void verify_RequiredByDateUpdated_atCCLevel(){\r\n-\r\n-\t\t//Added wait statement to wait until the Cart item added successfull message to be displayed.\r\n-\t\tWebDriverWait wait = new WebDriverWait(driver,10);\r\n-\t\tWebElement lblCartAddItemMessage =wait.until(ExpectedConditions.\r\n-\t\t\t\tvisibilityOfElementLocated(By.xpath(\"//div[@id='divAppInfoMsg'][@class='addMessage']\")));\r\n-\t\tString getReqByDateMessage = lblCartItemAddedMessage.getText();\r\n-\t\tTestReporter.logStep(\"Message after changing the RequiredBy date at CC_level : \"+ getReqByDateMessage);\r\n-\t\tTestReporter.assertTrue(getReqByDateMessage.contains(\"date has been updated.\"), \r\n-\t\t\t\t\"Required by date has been updated at CC-Level.\");\r\n-\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary: Method to change the RequiredBy value at linelevel.\r\n-\t * @author: Praveen Namburi, @version: Created 20-09-2016.\r\n-\t */\r\n-\tpublic void change_RequiredByAtLineLevel(){\r\n-\t\t// after cart check out, application taking time to load cost center page \r\n-\t\tlblCC.syncVisible(30, false);\r\n-\t\tlblCC.isDisplayed();\r\n-\t\tdriver.setPageTimeout(3);\r\n-\r\n-\t\tString getReqByDate_beforeChange = getReqByDateAtLineLevel();\r\n-\t\tTestReporter.log(\"Get ReqByDate_before Change: \" + getReqByDate_beforeChange);\r\n-\r\n-\t\tdriver.executeJavaScript(\"arguments[0].click();\", dateCCLineLevel.get(0));\r\n-\t\tList<WebElement> nextMonthArrows = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\r\n-\t\t\t\t+ \"table/thead/tr[2]/td[4]\"));\r\n-\t\tint getNextMonthArrowsSize = nextMonthArrows.size();\r\n-\t\tSystem.out.println(\"Next month arrows size: \"+getNextMonthArrowsSize);\r\n-\t\tfor(WebElement nextMonth : nextMonthArrows){\r\n-\t\t\tdriver.setPageTimeout(2);\r\n-\t\t\tnextMonth.click();\r\n-\t\t\tdriver.setPageTimeout(2);\r\n-\t\t\tList<WebElement> selectDates = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\r\n-\t\t\t\t\t+ \"table/tbody/tr[4]/td[@class='day']\"));\r\n-\t\t\tfor(WebElement selWeekDate : selectDates){\r\n-\t\t\t\tselWeekDate.click();\r\n-\t\t\t\tbreak;\r\n-\t\t\t}\r\n-\t\t}\r\n-\r\n-\t\t//Verify the message -'The RequiredBy date has been updated' is displayed.\r\n-\t\tverify_RequiredByDateUpdated_atCCLevel();\r\n-\t\tdriver.setPageTimeout(2);\r\n-\r\n-\t\tList<WebElement> inputDates = dateCCInputLineLevel;\r\n-\t\tint getInputDatesSize = inputDates.size();\r\n-\t\tTestReporter.log(\"Total no. of input dates available at CC_line-level: \" + getInputDatesSize);\r\n-\t\t//Iterate through each ReqBydate element and get text,\r\n-\t\t//verify the expected date with actual values.\r\n-\t\tfor(WebElement inputDate : inputDates){\r\n-\t\t\tString getModifiedDate = inputDate.getAttribute(\"value\");\r\n-\t\t\tTestReporter.log(\"Get ReqByDate after change: \"+getModifiedDate);\r\n-\t\t\tTestReporter.assertNotEquals(getReqByDate_beforeChange, getModifiedDate, \r\n-\t\t\t\t\t\"Date has been updated at line-level for the id: - [\"+inputDate.getAttribute(\"id\")+\"]\");\r\n-\t\t\tbreak;\r\n-\t\t}\r\n-\r\n-\t}\r\n-\r\n-\t/**\r\n-\t * @summary: Method to change the RequiredBy value at Header level.\r\n-\t * @author: Praveen Namburi, @version: Created 22-09-2016.\r\n-\t * @param daysOut\r\n-\t */\r\n-\tpublic void change_RequiredByAtHeaderLevel(){\r\n-\t\t// after cart check out, application taking time to load cost center page \r\n-\t\tlblCC.syncVisible(30, false);\r\n-\t\tlblCC.isDisplayed();\r\n-\t\tdriver.setPageTimeout(3);\r\n-\t\t//To click on calender at CC_HeaderLevel.\r\n-\t\tdriver.executeJavaScript(\"arguments[0].click();\", lnkDateCC_HeaderLvel);\r\n-\t\tList<WebElement> nextMonthArrows = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\r\n-\t\t\t\t+ \"table/thead/tr[2]/td[4]\"));\r\n-\t\tint loopCount=0;\r\n-\t\tfor(WebElement nextMonth : nextMonthArrows){\r\n-\t\t\tdriver.setPageTimeout(2);\r\n-\t\t\tnextMonth.click();\r\n-\t\t\tdriver.setPageTimeout(2);\r\n-\t\t\tList<WebElement> selectDates = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\r\n-\t\t\t\t\t+ \"table/tbody/tr[4]/td[@class='day']\"));\r\n-\t\t\tfor(WebElement selWeekDate : selectDates){\r\n-\t\t\t\tselWeekDate.click();\r\n-\t\t\t\tdriver.setPageTimeout(5);\r\n-\t\t\t\tloopCount++;\r\n-\t\t\t\tbreak;\r\n-\t\t\t}\r\n-\t\t\tif(loopCount>0) break;\r\n-\t\t}\r\n-\r\n-\t\t//Verify the message -'The RequiredBy date has been updated' is displayed.\r\n-\t\tverify_RequiredByDateUpdated_atCCLevel();\r\n-\t\tdriver.setPageTimeout(2);\r\n-\r\n-\t\t//Get the RequiredBy date at header level.\r\n-\t\tString getReqByDate_AtHeaderLevel = txtReqByHeaderLevel.getText();\r\n-\t\tTestReporter.log(\"Get ReqByDate_before Change: \" + getReqByDate_AtHeaderLevel);\r\n-\r\n-\t\tList<WebElement> inputDates = dateCCInputLineLevel;\r\n-\t\tint getInputDatesSize = inputDates.size();\r\n-\t\tTestReporter.log(\"Total no. of input dates available at CC_line-level: \" + getInputDatesSize);\r\n-\t\t//Iterate through each ReqBydate element and get text,\r\n-\t\t//verify the expected date with actual values.\r\n-\t\tfor(WebElement inputDate : inputDates){\r\n-\t\t\tString getModifiedDate = inputDate.getAttribute(\"value\");\r\n-\t\t\tTestReporter.assertEquals(getReqByDate_AtHeaderLevel, getModifiedDate, \r\n-\t\t\t\t\t\"Date has been updated at line-level for the id: - [\"+inputDate.getAttribute(\"id\")+\"]\");\r\n-\t\t}\r\n-\r\n-\t}\r\n-\r\n-}\r\n+package com.xeeva.catalog;\n+\n+import java.util.List;\n+import java.util.ResourceBundle;\n+\n+import org.openqa.selenium.By;\n+import org.openqa.selenium.WebDriver;\n+import org.openqa.selenium.WebElement;\n+import org.openqa.selenium.support.FindBy;\n+import org.openqa.selenium.support.ui.ExpectedConditions;\n+import org.openqa.selenium.support.ui.Select;\n+import org.openqa.selenium.support.ui.WebDriverWait;\n+\n+import com.orasi.core.interfaces.Button;\n+import com.orasi.core.interfaces.Element;\n+import com.orasi.core.interfaces.Label;\n+import com.orasi.core.interfaces.Link;\n+import com.orasi.core.interfaces.Listbox;\n+import com.orasi.core.interfaces.Textbox;\n+import com.orasi.core.interfaces.impl.internal.ElementFactory;\n+import com.orasi.utils.AlertHandler;\n+import com.orasi.utils.Constants;\n+import com.orasi.utils.OrasiDriver;\n+import com.orasi.utils.PageLoaded;\n+import com.orasi.utils.Sleeper;\n+import com.orasi.utils.TestReporter;\n+import com.orasi.utils.date.DateTimeConversion;\n+import com.xeeva.navigation.MainNav;\n+\n+/**\n+ * @summary This page contains Cost Center page objects\n+ * @author  Lalitha Banda\n+ * @date    15/09/16\n+ */\n+\n+public class CostCenterPage {\n+\t\n+\tPageLoaded pl = new PageLoaded();\n+\tprivate OrasiDriver driver = null;\n+\tprivate ResourceBundle userCredentialRepo = ResourceBundle.getBundle(Constants.USER_CREDENTIALS_PATH);\n+\tString xpath = \".//*[@id='customfa']/tbody/tr/td/select\";\n+\t\n+\n+\t/**Page Elements**/\n+\t@FindBy(id =\"countrydivcontainer\") private Element costCenterContainer;\t\n+\t@FindBy(xpath=\"//*[@id='customfa']/tbody\") private WebElement tblCostCenterInfo;\n+\t@FindBy(id =\"ddlApplyCC\") private Listbox lstCostCenterHeaderLevel;\n+\t@FindBy(className =\"fa fa-calendar cursor-pointer font16px\") private Button btnCalender;\n+\t@FindBy(id =\"txtRequiredby\") private Textbox txtRequiredBy;\n+\t@FindBy(xpath=\"//*[@title='Internal Comment']\") private List<WebElement> lstInternalCommentGrid;\n+\t@FindBy(id =\"txtInternalComment\") private Textbox txtInternalComment;\n+\t@FindBy(id =\"btnSaveComments\") private Button btnSaveComments;\n+\t@FindBy(id =\"txtShowFullComment\") private Textbox txtShowFullComment;\n+\t@FindBy(xpath=\"//*[@id='txtShowFullComment']\") private List<WebElement> txtCommentDisplayed;\n+\t@FindBy(id =\"fancybox-close\") private Button btnClosePopUp;\n+\t@FindBy(xpath=\"//*[@title='Copy Item']\") private List<WebElement> lstCopyItemGrid;\n+\t@FindBy(xpath=\".//*[@class='gridtextLink']\") private List<WebElement> lstItemNoGrid;\n+\t@FindBy(css=\".costCentername\") private Label lblCC;\n+\t@FindBy(xpath=\".//*[@id='customfa']/tbody/tr/td/input[@class='QtyNumericTextBoxClass']\") private List<WebElement> lstQty;\n+\t@FindBy(xpath=\".//*[@title='Save changes']\") private List<WebElement> lstSave;\n+\t@FindBy(xpath=\"//div[@id='divAppInfoMsg'][@class='addMessage']\") private Label conformationMsg;\n+\t@FindBy(xpath=\".//*[@value='Save Cart'][contains(@onclick, 'javascript')]\") private WebElement btnSaveCart;\n+\n+\t@FindBy(xpath=\"//td[2]/a[1]/input\") private Button btnSaveCartCC;\n+\t@FindBy(xpath=\"//tr[2]/td[2]/a[2]/input\") private Button btnShopMoreItemsCC;\n+\t@FindBy(xpath=\"//*[@id='btnCheckOut']/input\") private Button btnContinueCheckoutCC;\n+\t@FindBy(xpath=\".//*[@id='customfa']/tbody/tr/td/select\") private List<Listbox> ddCCLineLevel;\n+\t@FindBy(xpath=\"//*[@id='tblbasicTable']/tbody/tr/td/div/a\") private List<WebElement> lstSelectCC;\n+\t@FindBy(xpath=\"//*[@id='tblbasicTable']/tbody/tr/td/div/span\") private List<WebElement> lstSelectCCValue;\n+\n+\n+\n+\t@FindBy(xpath=\"//table[@id='customfa']/tbody/tr/td/table/tbody/tr/td/input\") private List<WebElement> dateCCInputLineLevel;\n+\t@FindBy(xpath=\"//table[@id='customfa']/tbody/tr/td/table/tbody/tr/td/i\") private List<WebElement> dateCCLineLevel;\n+\t@FindBy(xpath=\"//div[@id='divAPRPARList']/ul/li[4]/i\") private Link lnkDateCC_HeaderLvel;\n+\n+\t@FindBy(xpath=\"//div[@id='divAppInfoMsg'][@class='addMessage']\") private Label lblCartItemAddedMessage;\n+\t@FindBy(xpath=\"//input[@id='txtRequiredby']\") private Textbox txtReqByHeaderLevel;\n+\n+\t/**Constructor**/\n+\tpublic CostCenterPage(OrasiDriver driver){\n+\t\tthis.driver = driver;\n+\t\tElementFactory.initElements(driver, this);\n+\t}\n+\n+\n+\tpublic void pageLoaded(){\n+\t\tcostCenterContainer.syncVisible(20, false);\n+\t}\n+\n+\t/**Page Interactions**/\n+\n+\n+\t/**\n+\t * @summary Clicking Internal Comment Link\n+\t * @author  Lalitha Banda\n+\t * @date    15/09/16\n+\t */\n+\tpublic void click_InternalComment(){\n+\t\tpageLoaded();\n+\t\tdriver.executeJavaScript(\"arguments[0].click();\", lstInternalCommentGrid.get(0));\n+\t\t//lstInternalCommentGrid.get(0).click();\n+\t}\n+\n+\t/**\n+\t * @summary Clicking CopyItem Link\n+\t * @author  Lalitha Banda\n+\t * @date    15/09/16\n+\t */\n+\tpublic void click_CopyItemLink(){\n+\t\tSleeper.sleep(5000);\n+\t\tlstCopyItemGrid.get(0).click();\n+\t}\n+\n+\n+\t/**\n+\t * @summary Adding Internal Comment\n+\t * @author  Lalitha Banda\n+\t * @date    15/09/16\n+\t */\n+\tpublic void AddInternalComment(String InternalComment){\n+\t\tlblCC.syncVisible(30, false);\n+\t\tlblCC.isDisplayed();\n+\t\tclick_InternalComment();\n+\t\ttxtInternalComment.safeSet(InternalComment);\n+\t\tbtnSaveComments.click();\n+\n+\t\tif(txtCommentDisplayed.size()>0){\n+\t\t\tfor(WebElement fullComment :txtCommentDisplayed){\n+\t\t\t\tString Expected = fullComment.getText();\n+\t\t\t\tTestReporter.logStep(\"Actual :\"+ InternalComment + \": \" + \"Expected : \"+ Expected);\n+\t\t\t\tTestReporter.assertTrue(Expected.equals(InternalComment), \"Internal Comment Displayed is Verified!!\");\n+\t\t\t\tbreak;\n+\t\t\t}\n+\t\t}else{\n+\t\t\tTestReporter.assertTrue(false, \"Internal Comment Wrongly Displayed\");\n+\t\t}\n+\t\tdriver.setPageTimeout(2);\n+\t\tbtnClosePopUp.click();\n+\t}\n+\n+\n+\t// Method to change Quantity \n+\tpublic void changeQuantity(String QtyValue ,WebElement inputElement){\n+\t\tlstQty.get(0).clear();\n+\t\tlstQty.get(0).sendKeys(QtyValue);\n+\t\tdriver.executeJavaScript(\"arguments[0].click();\",inputElement);\n+\t\t//handle alert pop up if present\n+\t\t//TODO this is not a graceful way to handle multiple items that each have an alert...\n+\t\tif (AlertHandler.isAlertPresent(driver, 6)) {\n+\t\t\tAlertHandler.handleAlert(driver, 6);\n+\t\t\tif (AlertHandler.isAlertPresent(driver, 6)) {\n+\t\t\t\tAlertHandler.handleAlert(driver, 6);\n+\t\t\t}\n+\t\t}\n+\t\t//Wait for the success message to disappear so that the qty is fully updated\n+\t\tSleeper.sleep(2000);\n+\n+\t\tSystem.out.println(\"Total number of qty text boxes : \"+lstQty.size());\n+\t\tString updatedQty =lstQty.get(0).getAttribute(\"value\");\n+\t\tTestReporter.assertTrue(updatedQty.equalsIgnoreCase(QtyValue), \"Quantity Updated Successfully!!\");\n+\t}\n+\n+\tpublic void VerifyDelete(){\n+\n+\t}\n+\n+\t/**\n+\t * @summary Method to verify Cost Center\n+\t * @author  Lalitha Banda\n+\t * @date    20/09/16\n+\t */\n+\t/**\n+\t * @param verifyType\n+\t * @param itemNumber\n+\t * @param CCValue\n+\t * @param QuantityValue\n+\t * @return\n+\t */\n+\tpublic boolean verifyCostCenter(String verifyType,String itemNumber,String CCValue,String QuantityValue){\n+\t\tboolean statusFlag = false;\n+\t\tList<WebElement> readLinks = driver.findElements(By.xpath(\".//*[@id='customfa']/tbody/tr/td[1]/a\"));\n+\t\tList<WebElement> readSelects = driver.findElements(By.xpath(\".//*[@id='customfa']/tbody/tr/td/select\"));\n+\t\tList<WebElement> readDeleteIcons = driver.findElements(By.xpath(\".//*[@title='Delete']\"));\n+\n+\t\tswitch(verifyType.toLowerCase()){\n+\t\tcase \"linelevel\":\n+\t\t\tfor(WebElement inputLink : readLinks){\n+\t\t\t\tfor(WebElement inputSelects: readSelects){\n+\t\t\t\t\tString updatedCC = new Select(inputSelects).getFirstSelectedOption().getText();\n+\t\t\t\t\tif(inputLink.getText().equalsIgnoreCase(itemNumber) &&updatedCC.equalsIgnoreCase(CCValue)){\n+\t\t\t\t\t\tstatusFlag = true;\t\t\t\n+\t\t\t\t\t\tbreak;\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t}\n+\n+\t\t\tbreak;\n+\n+\t\tcase \"headerlevel\": \n+\t\t\tfor(int i=0;i<readSelects.size();i++){\n+\t\t\t\tString ExpectedCC = new Select(readSelects.get(i)).getFirstSelectedOption().getText();\n+\t\t\t\tif(ExpectedCC.equalsIgnoreCase(CCValue)){\n+\t\t\t\t\tstatusFlag =true;\n+\t\t\t\t}\n+\t\t\t}\n+\t\t\tbreak;\n+\n+\t\tcase \"copyitem\":\n+\t\t\tfor(WebElement input :readSelects){\n+\t\t\t\tif(new Select(input).getFirstSelectedOption().getText().contains(CCValue)){\n+\t\t\t\t\tString randomID =input.getAttribute(\"id\").replaceAll(\"\\\\D+\", \"\");\n+\t\t\t\t\tWebElement element = driver.findElement(By.xpath(\".//*[@id='trCCRow_\"+randomID+\"']/td[9]\"));\n+\t\t\t\t\tdriver.executeJavaScript(\"arguments[0].click();\", element);\n+\t\t\t\t\tif(txtShowFullComment.isDisplayed()){\n+\t\t\t\t\t\tTestReporter.assertTrue(false, \"Copied Item having Internal Comments\");\n+\t\t\t\t\t}else{\n+\t\t\t\t\t\tTestReporter.assertTrue(true, \"Copied Item is not having Internal Comments\");\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t}\n+\t\t\tbreak;\n+\n+\t\tcase \"quantity\": \n+\t\t\t// Change Quantity - Line Level record\n+\t\t\tchangeQuantity(QuantityValue,lstSave.get(0));\n+\t\t\tbreak;\n+\t\tcase \"savecart\": \n+\t\t\t// Verify Save Cart \n+\t\t\tchangeQuantity(QuantityValue,btnSaveCartCC);\n+\t\t\tbreak;\n+\n+\t\tcase \"delete\":\n+\t\t\t// Perform Delete \n+\t\t\tint sizeBeofreDelete =lstQty.size();\n+\t\t\tdriver.executeJavaScript(\"arguments[0].click();\", readDeleteIcons.get(0));\n+\t\t\t//Handle Alert if present\n+\t\t\tif(AlertHandler.isAlertPresent(driver, 6)){\n+\t\t\t\tAlertHandler.handleAlert(driver, 6);\n+\t\t\t}\n+\t\t\t// Waiting for quantity table \n+\t\t\tSleeper.sleep(2000);\n+\t\t\tint sizeAfterDelete =lstQty.size();\n+\t\t\tTestReporter.assertTrue(sizeAfterDelete<sizeBeofreDelete, \"Item Deleted Successfully!!\");\n+\t\t\tbreak;\n+\t\tdefault : System.out.println();\n+\n+\t\t}\n+\t\treturn statusFlag;\n+\t}\n+\n+\n+\n+\t/**\n+\t * @summary: Method to get the date as per the daysout value.\n+\t * @param daysOut\n+\t * @return\n+\t */\n+\tpublic String getDate(String daysOut){\n+\t\tDateTimeConversion dteTimeCon = new DateTimeConversion();\n+\t\tString setDaysOut = dteTimeCon.getDaysOut(daysOut, \"MM/dd/yyyy\").toString();\n+\t\tTestReporter.logStep(\"No. of days-out : \" + daysOut);\n+\t\t//System.out.println(\"Date : \"+setDaysOut);\n+\t\treturn setDaysOut;\n+\t}\n+\n+\t/**\n+\t * @summary Method to change Cost Center\n+\t * @author  Lalitha Banda\n+\t * @date    16/09/16\n+\t */\n+\tpublic void change_CC(String changeType,String CC){\n+\t\t// after cart check out, application taking time to load cost center page \n+\t\tlblCC.syncVisible(30, false);\n+\t\tlblCC.isDisplayed();\n+\t\tswitch(changeType.toLowerCase()){\n+\n+\t\tcase \"linelevel\" : \n+\t\t\tTestReporter.logStep( \"CC before updation : \"+ddCCLineLevel.get(0).getFirstSelectedOption().getText());\n+\t\t\t//Read item number here\n+\t\t\tString randomID =ddCCLineLevel.get(0).getAttribute(\"id\").replaceAll(\"\\\\D+\", \"\");\n+\t\t\tString itemNumber = driver.findElement(By.xpath(\".//*[@id='trCCRow_\"+randomID+\"']/td/a\")).getText();\n+\t\t\tTestReporter.logStep(\"itemNumber :\"+ itemNumber);\n+\t\t\tddCCLineLevel.get(0).select(CC);\n+\t\t\tSystem.out.println(verifyCostCenter(changeType,itemNumber,CC,null));\n+\t\t\tTestReporter.assertTrue(verifyCostCenter(changeType,itemNumber,CC,null),\"Cost Center Updated at Line Level Successfully!!\");\n+\t\t\tbreak;\n+\n+\t\tcase \"headerlevel\" :\n+\t\t\tlstCostCenterHeaderLevel.select(CC);\n+\t\t\t//Handle Alert if present\n+\t\t\tif(AlertHandler.isAlertPresent(driver, 6)){\n+\t\t\t\tAlertHandler.handleAlert(driver, 6);\n+\t\t\t}\n+\t\t\tSystem.out.println(verifyCostCenter(changeType,null,CC,null));\n+\t\t\tTestReporter.assertTrue( verifyCostCenter(changeType,null,CC,null),\"Cost Center Updated at Header Level Successfully!!\");\n+\t\t\tbreak;\n+\n+\t\tdefault : System.out.println();\n+\t\t}\n+\t}\n+\n+\tpublic String selectCCToCopyItem(){\n+\t\tString ccValue = lstSelectCCValue.get(0).getText();\n+\t\tSystem.out.println(\"CostCenter Name \"+lstSelectCCValue.get(0).getText());\n+\t\tdriver.executeJavaScript(\"arguments[0].click();\", lstSelectCC.get(0));\n+\t\tSleeper.sleep(5000);\n+\t\treturn ccValue;\n+\t}\n+\n+\tpublic String readItemNuber(){\n+\t\treturn lstItemNoGrid.get(0).getText();\n+\t}\n+\n+\n+\n+\t/**\n+\t * @summary: Method to get the RequiredByDate from textbox at CC_line-level.\n+\t * @author: Praveen Namburi, @Version: Created 21-09-2016\n+\t * @return getReqByDate\n+\t */\n+\tpublic String getReqByDateAtLineLevel(){\n+\t\tString getRequreDate = \"\";\n+\t\tList<WebElement> reqByDates = dateCCInputLineLevel;\n+\t\tfor(WebElement reqByDate : reqByDates){\n+\t\t\tString getReqByDate_beforeChange1 = reqByDate.getAttribute(\"value\");\n+\t\t\t//System.out.println(getReqByDate_beforeChange1);\n+\t\t\tgetRequreDate=getReqByDate_beforeChange1;\n+\t\t\tbreak;\n+\t\t}\n+\t\treturn getRequreDate;\n+\t}\n+\n+\t/**\n+\t * @summary: Method to verify the RequiredBydate has been updated Successfully at CC_level.\n+\t * @author: Praveen Namburi, @version: Created 21-09-2016.\n+\t */\n+\tpublic void verify_RequiredByDateUpdated_atCCLevel(){\n+\n+\t\t//Added wait statement to wait until the Cart item added successfull message to be displayed.\n+\t\tWebDriverWait wait = new WebDriverWait(driver,10);\n+\t\tWebElement lblCartAddItemMessage =wait.until(ExpectedConditions.\n+\t\t\t\tvisibilityOfElementLocated(By.xpath(\"//div[@id='divAppInfoMsg'][@class='addMessage']\")));\n+\t\tString getReqByDateMessage = lblCartItemAddedMessage.getText();\n+\t\tTestReporter.logStep(\"Message after changing the RequiredBy date at CC_level : \"+ getReqByDateMessage);\n+\t\tTestReporter.assertTrue(getReqByDateMessage.contains(\"date has been updated.\"), \n+\t\t\t\t\"Required by date has been updated at CC-Level.\");\n+\n+\t}\n+\n+\t/**\n+\t * @summary: Method to change the RequiredBy value at linelevel.\n+\t * @author: Praveen Namburi, @version: Created 20-09-2016.\n+\t */\n+\tpublic void change_RequiredByAtLineLevel(){\n+\t\t// after cart check out, application taking time to load cost center page \n+\t\tlblCC.syncVisible(30, false);\n+\t\tlblCC.isDisplayed();\n+\t\tdriver.setElementTimeout(Constants.ELEMENT_TIMEOUT);\n+\n+\t\tString getReqByDate_beforeChange = getReqByDateAtLineLevel();\n+\t\tTestReporter.log(\"Get ReqByDate_before Change: \" + getReqByDate_beforeChange);\n+\n+\t\tdriver.executeJavaScript(\"arguments[0].click();\", dateCCLineLevel.get(0));\n+\t\tList<WebElement> nextMonthArrows = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\n+\t\t\t\t+ \"table/thead/tr[2]/td[4]\"));\n+\t\tint getNextMonthArrowsSize = nextMonthArrows.size();\n+\t\tSystem.out.println(\"Next month arrows size: \"+getNextMonthArrowsSize);\n+\t\tfor(WebElement nextMonth : nextMonthArrows){\n+\t\t\tnextMonth.click();\n+\t\t\tList<WebElement> selectDates = driver.findElements(By.xpath(\"html/body/div[@class='calendar']/\"\n+\t\t\t\t\t+ \"table/tbody/tr[4]/td[@class='day']\"));\n+\t\t\tfor(WebElement selWeekDate : selectDates){\n+\t\t\t\tselWeekDate.click();\n+\t\t\t\tbreak;\n+\t\t\t}\n+\t\t}\n+\n+\t\t//Verify the message -'The RequiredBy date has been updated' is displayed.\n+\t\tverify_RequiredByDateUpdated_atCCLevel();\n+\n+\t\tList<WebElement> inputDates = dateCCInputLineLevel;\n+\t\tint getInputDatesSize = inputDates.size();\n+\t\tTestReporter.log(\"Total no. of input dates available at CC_line-level: \" + getInputDatesSize);\n+\t\t//Iterate through each ReqBydate element and get text,\n+\t\t//verify the expected date with actual values.\n+\t\tfor(WebElement inputDate : inputDates){\n+\t\t\tString getModifiedDate = inputDate.getAttribute(\"value\");\n+\t\t\tTestReporter.log(\"Get ReqByDate after change: \"+getModifiedDate);\n+\t\t\tTestReporter.assertNotEquals(getReqByDate_beforeChange, getModifiedDate, \n+\t\t\t\t\t\"Date has been updated at line-level for the id: - [\"+inputDate.getAttribute(\"id\")+\"]\");\n+\t\t\tbreak;\n+\t\t}\n+\n+\t}\n+\n+\t/**\n+\t * @summary: Method to change the RequiredBy value at Header level.\n+\t * @author: Praveen Namburi, @version: Created 22-09-2016.\n+\t * @param daysOut\n+\t */\n+\tpublic void change_RequiredByAtHeaderLevel(){\n+\t\t// after cart check out, application taking time to load cost center page \n+\t\tlblCC.syncVisible(30, false);\n+\t\tlblCC.isDisplayed();\n+\t\tdriver.setPageTimeout(3);\n+\t\t//To click on calender at CC_HeaderLevel.","path":"src/main/java/com/xeeva/catalog/CostCenterPage.java","position":574,"original_position":845,"commit_id":"1d6ce0e4c9161e81bcf803c34d1d80f27121a560","original_commit_id":"1d6ce0e4c9161e81bcf803c34d1d80f27121a560","user":{"login":"jessicamarshall","id":8049062,"avatar_url":"https://avatars.githubusercontent.com/u/8049062?v=3","gravatar_id":"","url":"https://api.github.com/users/jessicamarshall","html_url":"https://github.com/jessicamarshall","followers_url":"https://api.github.com/users/jessicamarshall/followers","following_url":"https://api.github.com/users/jessicamarshall/following{/other_user}","gists_url":"https://api.github.com/users/jessicamarshall/gists{/gist_id}","starred_url":"https://api.github.com/users/jessicamarshall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jessicamarshall/subscriptions","organizations_url":"https://api.github.com/users/jessicamarshall/orgs","repos_url":"https://api.github.com/users/jessicamarshall/repos","events_url":"https://api.github.com/users/jessicamarshall/events{/privacy}","received_events_url":"https://api.github.com/users/jessicamarshall/received_events","type":"User","site_admin":false},"body":"Again - need to remove lines 405 and 406","created_at":"2016-09-26T13:18:08Z","updated_at":"2016-09-26T13:18:08Z","html_url":"https://github.com/Orasi/Xeeva/pull/2#discussion_r80471964","pull_request_url":"https://api.github.com/repos/Orasi/Xeeva/pulls/2","_links":{"self":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/comments/80471964"},"html":{"href":"https://github.com/Orasi/Xeeva/pull/2#discussion_r80471964"},"pull_request":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/2"}}},"pull_request":{"url":"https://api.github.com/repos/Orasi/Xeeva/pulls/2","id":86507335,"html_url":"https://github.com/Orasi/Xeeva/pull/2","diff_url":"https://github.com/Orasi/Xeeva/pull/2.diff","patch_url":"https://github.com/Orasi/Xeeva/pull/2.patch","issue_url":"https://api.github.com/repos/Orasi/Xeeva/issues/2","number":2,"state":"open","locked":false,"title":"Stage","user":{"login":"LalithaBanda","id":21357818,"avatar_url":"https://avatars.githubusercontent.com/u/21357818?v=3","gravatar_id":"","url":"https://api.github.com/users/LalithaBanda","html_url":"https://github.com/LalithaBanda","followers_url":"https://api.github.com/users/LalithaBanda/followers","following_url":"https://api.github.com/users/LalithaBanda/following{/other_user}","gists_url":"https://api.github.com/users/LalithaBanda/gists{/gist_id}","starred_url":"https://api.github.com/users/LalithaBanda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LalithaBanda/subscriptions","organizations_url":"https://api.github.com/users/LalithaBanda/orgs","repos_url":"https://api.github.com/users/LalithaBanda/repos","events_url":"https://api.github.com/users/LalithaBanda/events{/privacy}","received_events_url":"https://api.github.com/users/LalithaBanda/received_events","type":"User","site_admin":false},"body":"Developed fallowing Tests,\r\nChangeCC_HeaderLevel\r\nChangeQuantity_ExistingLineLevelRequisition\r\nVerify_AddInternalComments\r\nVerify_ChangeRequireBy_ExistingLineLevel\r\nVerify_ChangeRequireBy_HeaderLevel\r\nVerify_CopiedItem_LineLevel \r\nVerify_ItemDelete\r\nVerify_SaveCart","created_at":"2016-09-23T12:51:50Z","updated_at":"2016-09-26T13:18:08Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3080cea425ae23998c0ceed97ef811826cd255ef","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Orasi/Xeeva/pulls/2/commits","review_comments_url":"https://api.github.com/repos/Orasi/Xeeva/pulls/2/comments","review_comment_url":"https://api.github.com/repos/Orasi/Xeeva/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Orasi/Xeeva/issues/2/comments","statuses_url":"https://api.github.com/repos/Orasi/Xeeva/statuses/1d6ce0e4c9161e81bcf803c34d1d80f27121a560","head":{"label":"Orasi:stage","ref":"stage","sha":"1d6ce0e4c9161e81bcf803c34d1d80f27121a560","user":{"login":"Orasi","id":6349778,"avatar_url":"https://avatars.githubusercontent.com/u/6349778?v=3","gravatar_id":"","url":"https://api.github.com/users/Orasi","html_url":"https://github.com/Orasi","followers_url":"https://api.github.com/users/Orasi/followers","following_url":"https://api.github.com/users/Orasi/following{/other_user}","gists_url":"https://api.github.com/users/Orasi/gists{/gist_id}","starred_url":"https://api.github.com/users/Orasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Orasi/subscriptions","organizations_url":"https://api.github.com/users/Orasi/orgs","repos_url":"https://api.github.com/users/Orasi/repos","events_url":"https://api.github.com/users/Orasi/events{/privacy}","received_events_url":"https://api.github.com/users/Orasi/received_events","type":"Organization","site_admin":false},"repo":{"id":66941214,"name":"Xeeva","full_name":"Orasi/Xeeva","owner":{"login":"Orasi","id":6349778,"avatar_url":"https://avatars.githubusercontent.com/u/6349778?v=3","gravatar_id":"","url":"https://api.github.com/users/Orasi","html_url":"https://github.com/Orasi","followers_url":"https://api.github.com/users/Orasi/followers","following_url":"https://api.github.com/users/Orasi/following{/other_user}","gists_url":"https://api.github.com/users/Orasi/gists{/gist_id}","starred_url":"https://api.github.com/users/Orasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Orasi/subscriptions","organizations_url":"https://api.github.com/users/Orasi/orgs","repos_url":"https://api.github.com/users/Orasi/repos","events_url":"https://api.github.com/users/Orasi/events{/privacy}","received_events_url":"https://api.github.com/users/Orasi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Orasi/Xeeva","description":null,"fork":false,"url":"https://api.github.com/repos/Orasi/Xeeva","forks_url":"https://api.github.com/repos/Orasi/Xeeva/forks","keys_url":"https://api.github.com/repos/Orasi/Xeeva/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Orasi/Xeeva/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Orasi/Xeeva/teams","hooks_url":"https://api.github.com/repos/Orasi/Xeeva/hooks","issue_events_url":"https://api.github.com/repos/Orasi/Xeeva/issues/events{/number}","events_url":"https://api.github.com/repos/Orasi/Xeeva/events","assignees_url":"https://api.github.com/repos/Orasi/Xeeva/assignees{/user}","branches_url":"https://api.github.com/repos/Orasi/Xeeva/branches{/branch}","tags_url":"https://api.github.com/repos/Orasi/Xeeva/tags","blobs_url":"https://api.github.com/repos/Orasi/Xeeva/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Orasi/Xeeva/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Orasi/Xeeva/git/refs{/sha}","trees_url":"https://api.github.com/repos/Orasi/Xeeva/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Orasi/Xeeva/statuses/{sha}","languages_url":"https://api.github.com/repos/Orasi/Xeeva/languages","stargazers_url":"https://api.github.com/repos/Orasi/Xeeva/stargazers","contributors_url":"https://api.github.com/repos/Orasi/Xeeva/contributors","subscribers_url":"https://api.github.com/repos/Orasi/Xeeva/subscribers","subscription_url":"https://api.github.com/repos/Orasi/Xeeva/subscription","commits_url":"https://api.github.com/repos/Orasi/Xeeva/commits{/sha}","git_commits_url":"https://api.github.com/repos/Orasi/Xeeva/git/commits{/sha}","comments_url":"https://api.github.com/repos/Orasi/Xeeva/comments{/number}","issue_comment_url":"https://api.github.com/repos/Orasi/Xeeva/issues/comments{/number}","contents_url":"https://api.github.com/repos/Orasi/Xeeva/contents/{+path}","compare_url":"https://api.github.com/repos/Orasi/Xeeva/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Orasi/Xeeva/merges","archive_url":"https://api.github.com/repos/Orasi/Xeeva/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Orasi/Xeeva/downloads","issues_url":"https://api.github.com/repos/Orasi/Xeeva/issues{/number}","pulls_url":"https://api.github.com/repos/Orasi/Xeeva/pulls{/number}","milestones_url":"https://api.github.com/repos/Orasi/Xeeva/milestones{/number}","notifications_url":"https://api.github.com/repos/Orasi/Xeeva/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Orasi/Xeeva/labels{/name}","releases_url":"https://api.github.com/repos/Orasi/Xeeva/releases{/id}","deployments_url":"https://api.github.com/repos/Orasi/Xeeva/deployments","created_at":"2016-08-30T13:06:00Z","updated_at":"2016-08-30T16:59:21Z","pushed_at":"2016-09-26T12:11:13Z","git_url":"git://github.com/Orasi/Xeeva.git","ssh_url":"git@github.com:Orasi/Xeeva.git","clone_url":"https://github.com/Orasi/Xeeva.git","svn_url":"https://github.com/Orasi/Xeeva","homepage":null,"size":175467,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"Orasi:master","ref":"master","sha":"041f313760a9f60eb7e52840de3e6168ef8289cf","user":{"login":"Orasi","id":6349778,"avatar_url":"https://avatars.githubusercontent.com/u/6349778?v=3","gravatar_id":"","url":"https://api.github.com/users/Orasi","html_url":"https://github.com/Orasi","followers_url":"https://api.github.com/users/Orasi/followers","following_url":"https://api.github.com/users/Orasi/following{/other_user}","gists_url":"https://api.github.com/users/Orasi/gists{/gist_id}","starred_url":"https://api.github.com/users/Orasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Orasi/subscriptions","organizations_url":"https://api.github.com/users/Orasi/orgs","repos_url":"https://api.github.com/users/Orasi/repos","events_url":"https://api.github.com/users/Orasi/events{/privacy}","received_events_url":"https://api.github.com/users/Orasi/received_events","type":"Organization","site_admin":false},"repo":{"id":66941214,"name":"Xeeva","full_name":"Orasi/Xeeva","owner":{"login":"Orasi","id":6349778,"avatar_url":"https://avatars.githubusercontent.com/u/6349778?v=3","gravatar_id":"","url":"https://api.github.com/users/Orasi","html_url":"https://github.com/Orasi","followers_url":"https://api.github.com/users/Orasi/followers","following_url":"https://api.github.com/users/Orasi/following{/other_user}","gists_url":"https://api.github.com/users/Orasi/gists{/gist_id}","starred_url":"https://api.github.com/users/Orasi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Orasi/subscriptions","organizations_url":"https://api.github.com/users/Orasi/orgs","repos_url":"https://api.github.com/users/Orasi/repos","events_url":"https://api.github.com/users/Orasi/events{/privacy}","received_events_url":"https://api.github.com/users/Orasi/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Orasi/Xeeva","description":null,"fork":false,"url":"https://api.github.com/repos/Orasi/Xeeva","forks_url":"https://api.github.com/repos/Orasi/Xeeva/forks","keys_url":"https://api.github.com/repos/Orasi/Xeeva/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Orasi/Xeeva/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Orasi/Xeeva/teams","hooks_url":"https://api.github.com/repos/Orasi/Xeeva/hooks","issue_events_url":"https://api.github.com/repos/Orasi/Xeeva/issues/events{/number}","events_url":"https://api.github.com/repos/Orasi/Xeeva/events","assignees_url":"https://api.github.com/repos/Orasi/Xeeva/assignees{/user}","branches_url":"https://api.github.com/repos/Orasi/Xeeva/branches{/branch}","tags_url":"https://api.github.com/repos/Orasi/Xeeva/tags","blobs_url":"https://api.github.com/repos/Orasi/Xeeva/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Orasi/Xeeva/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Orasi/Xeeva/git/refs{/sha}","trees_url":"https://api.github.com/repos/Orasi/Xeeva/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Orasi/Xeeva/statuses/{sha}","languages_url":"https://api.github.com/repos/Orasi/Xeeva/languages","stargazers_url":"https://api.github.com/repos/Orasi/Xeeva/stargazers","contributors_url":"https://api.github.com/repos/Orasi/Xeeva/contributors","subscribers_url":"https://api.github.com/repos/Orasi/Xeeva/subscribers","subscription_url":"https://api.github.com/repos/Orasi/Xeeva/subscription","commits_url":"https://api.github.com/repos/Orasi/Xeeva/commits{/sha}","git_commits_url":"https://api.github.com/repos/Orasi/Xeeva/git/commits{/sha}","comments_url":"https://api.github.com/repos/Orasi/Xeeva/comments{/number}","issue_comment_url":"https://api.github.com/repos/Orasi/Xeeva/issues/comments{/number}","contents_url":"https://api.github.com/repos/Orasi/Xeeva/contents/{+path}","compare_url":"https://api.github.com/repos/Orasi/Xeeva/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Orasi/Xeeva/merges","archive_url":"https://api.github.com/repos/Orasi/Xeeva/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Orasi/Xeeva/downloads","issues_url":"https://api.github.com/repos/Orasi/Xeeva/issues{/number}","pulls_url":"https://api.github.com/repos/Orasi/Xeeva/pulls{/number}","milestones_url":"https://api.github.com/repos/Orasi/Xeeva/milestones{/number}","notifications_url":"https://api.github.com/repos/Orasi/Xeeva/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Orasi/Xeeva/labels{/name}","releases_url":"https://api.github.com/repos/Orasi/Xeeva/releases{/id}","deployments_url":"https://api.github.com/repos/Orasi/Xeeva/deployments","created_at":"2016-08-30T13:06:00Z","updated_at":"2016-08-30T16:59:21Z","pushed_at":"2016-09-26T12:11:13Z","git_url":"git://github.com/Orasi/Xeeva.git","ssh_url":"git@github.com:Orasi/Xeeva.git","clone_url":"https://github.com/Orasi/Xeeva.git","svn_url":"https://github.com/Orasi/Xeeva","homepage":null,"size":175467,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/2"},"html":{"href":"https://github.com/Orasi/Xeeva/pull/2"},"issue":{"href":"https://api.github.com/repos/Orasi/Xeeva/issues/2"},"comments":{"href":"https://api.github.com/repos/Orasi/Xeeva/issues/2/comments"},"review_comments":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/2/comments"},"review_comment":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Orasi/Xeeva/pulls/2/commits"},"statuses":{"href":"https://api.github.com/repos/Orasi/Xeeva/statuses/1d6ce0e4c9161e81bcf803c34d1d80f27121a560"}}}}
{"actor":{"display_login":"jessicamarshall"}}