using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; using OpenQA.Selenium; using System.Collections; namespace Prevu { public class WorkWeeksPage : BasePage { By btnPrimary = By.ClassName("btn-primary"); By txtClientNumber = By.Id("ClientNumber"); By txtClientName = By.Id("Name"); By drdGLAccount = By.Id("GLAccountId"); By btnSave = By.Id("btnsave"); By lblWarning = By.ClassName("panel-body"); By btnDelete = By.Id("btnDelete"); WebDriver _driver; public WorkWeeksPage(WebDriver driver) { _driver = driver; } /* public bool OpenClients() { _driver.OpenPage("Clients"); _driver.WaitElement(btnPrimary); return _driver.GetElement(btnPrimary, "Add Client") != null; } public bool CreateClient(string clientNumber, string clientName, string glAccountName, string[] companies, out string id) { _driver.ClickElement(btnPrimary, "Add Client"); _driver.SendKeys(txtClientNumber, clientNumber); _driver.SendKeys(txtClientName, clientName); _driver.SelectDropdownValue(drdGLAccount, glAccountName); SetCompanies(companies); _driver.ClickElement(btnSave); id = ""; return _driver.FindRecord("Clients", clientName, out id); } public bool CheckClient(string id, string clientNumber, string clientName, string glAccountName, string[] companies) { _driver.OpenPage(string.Format("Clients/Edit/{0}", id)); return (_driver.GetElement(txtClientNumber).GetAttribute("value") == clientNumber) && (_driver.GetElement(txtClientName).GetAttribute("value") == clientName) && (_driver.SelectedDropdownValue(drdGLAccount) == glAccountName); } public bool DeleteClient(string clientId, string clientName) { _driver.OpenPage(string.Format("Clients/Delete/{0}", clientId)); bool result = _driver.GetElement(lblWarning).Text.IndexOf(string.Format("You are about to delete the {0}. Are you sure you want to delete it?", clientName)) > -1; _driver.ClickElement(btnDelete); string id = ""; _driver.FindRecord("Clients", clientName, out id); return result && (id == ""); } public bool EditClient(string id, string clientNumber, string clientName, string glAccountName, string[] companies) { _driver.OpenPage(string.Format("Clients/Edit/{0}", id)); _driver.SendKeys(txtClientNumber, clientNumber); _driver.SendKeys(txtClientName, clientName); _driver.SelectDropdownValue(drdGLAccount, glAccountName); SetCompanies(companies); _driver.ClickElement(btnSave); return CheckClient(id, clientNumber, clientName, glAccountName, companies); } public bool FindClient(string name, out string id) { return _driver.FindRecord("Clients", name, out id); } private bool SetCompanies(string[] companies) { bool someChecked = false; if (companies.Length > 0) { string pageSource = _driver.Driver.PageSource; IWebElement tableCompanies = _driver.GetElement(By.Id("uom")); IList rows = tableCompanies.FindElement(By.XPath("tbody")).FindElements(By.XPath("tr")); int i = -1; foreach (IWebElement row in rows) { i++; if (i > 0) { IWebElement checkbox = row.FindElement(By.XPath("td")).FindElement(By.XPath("input")); if (companies.Contains(row.Text)) { checkbox.Click(); } } } } else { someChecked = true; } return someChecked; } private bool CheckCompanies(string[] companies) { //TODO return true; } */ } }