public void TestAddCountry() { int beforeAddCountry = 0; int afterAddCountry = 0; IWebElement addCountryBtn = Browser.FindElementByXPath("//a[@id='CreateCountry']"); addCountryBtn.Click(); timeout.Until(m => m.FindElement(By.XPath("//div[@id='Create Country']"))); IWebElement modalWindow = Browser.FindElementByXPath("//div[@id='Create Country']"); IWebElement CountryName = modalWindow.FindElement(By.XPath("//input[@id='CountryName']")); IWebElement Comment = modalWindow.FindElement(By.XPath("//input[@id='Comment']")); IWebElement saveBtn = modalWindow.FindElement(By.XPath("//div[@class='ui-dialog-buttonset']")); Browser.SendKeysTo(CountryName, "Nepal", false); Browser.SendKeysTo(Comment, "Test Comment", false); Thread.Sleep(Timings.Default_ms * 15); using (var db = new AjourBTForTestContext()) { beforeAddCountry = db.Countries.Count(); Browser.ClickOnWebElement(saveBtn); Thread.Sleep(Timings.Default_ms * 10); afterAddCountry = db.Countries.Count(); } string classValue = Browser.FindElementByLinkText("Nepal").GetAttribute("class"); Assert.Less(beforeAddCountry, afterAddCountry); Assert.AreEqual("countryEditDialog", classValue); }
public void PrivateTripDelete() { int beforeDeletePrivateTrip = 0; int afterDeletePrivateTrip = 0; IWebElement elemToDelete = Browser.FindElementByXPath("//tbody[@id='PTViewBody']/tr").FindElements(By.XPath("//a[@id='editPrivateTrip']")) .Where(e => e.Text.Contains(Tools.FirstDayOfMonth) && e.Text.Contains(Tools.TodayDate)).FirstOrDefault(); Browser.ClickOnWebElement(elemToDelete); Thread.Sleep(Timings.Default_ms * 20); IWebElement btnDeletePrivateTrip = Browser.FindElementByXPath("//button[@id='btnDeletePrivateTrip']"); Browser.ClickOnWebElement(btnDeletePrivateTrip); Thread.Sleep(Timings.Default_ms * 15); IWebElement btnOKDeletePrivateTrip = Browser.FindElementByXPath("//button[@id='btnOKDeletePrivateTrip']"); using (var db = new AjourBTForTestContext()) { beforeDeletePrivateTrip = db.PrivateTrips.Count(); Browser.ClickOnWebElement(btnOKDeletePrivateTrip); Thread.Sleep(Timings.Default_ms * 30); afterDeletePrivateTrip = db.PrivateTrips.Count(); } empList = Tools.GetAllTableData("//tr[contains(@class,'zebra')]", Browser.webDriver); Assert.Less(afterDeletePrivateTrip, beforeDeletePrivateTrip); Assert.IsFalse(empList[0].Text.Contains(Tools.TestDate)); }
public void CheckBirthdays() { DateTime fromDate = DateTime.Now.Date; DateTime toDate = fromDate.AddDays(30).Date; List <Employee> birthList = new List <Employee>(); using (var db = new AjourBTForTestContext()) { List <Employee> emp = (from e in db.Employees where e.DateDismissed == null && e.BirthDay.HasValue orderby e.BirthDay.Value select e).ToList(); DateTime date; foreach (Employee e in emp) { date = TransformBirthDate(e.BirthDay.Value, DateTime.Now.Date); if (date >= fromDate.AddDays(-10) && date <= toDate) { birthList.Add(e); } } } ReadOnlyCollection <IWebElement> bdayList = Browser.FindElementsByXPath("//table[@id='bdayTable']/tbody/tr"); Assert.AreEqual(birthList.Count, bdayList.Count); }
public void EditUnit_NothingChanged() { int unitsCountBefore, unitsCountAfter; using (AjourBTForTestContext dbContext = new AjourBTForTestContext()) { unitsCountBefore = dbContext.Units.Count(); } Browser.ClickByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[1]/a"); Thread.Sleep(Timings.Default_ms * 10); Assert.AreEqual("Edit Unit", Browser.FindElementByXPath("//*[@id='ui-dialog-title-Edit Unit']").Text); Assert.AreEqual("ShortTitle", Browser.FindElementByXPath("/html/body/div[3]/div[2]/form[1]/fieldset/table/tbody/tr[1]/td[1]/label").Text); Assert.AreEqual("Title", Browser.FindElementByXPath("/html/body/div[3]/div[2]/form[1]/fieldset/table/tbody/tr[2]/td[1]/label").Text); Browser.ClickByXPath("//*[@id='btnSaveUnit']"); Thread.Sleep(Timings.Default_ms * 10); IWebElement positionsTable = Browser.FindElementByXPath("/html/body/div[1]/div/div[6]/div/table"); Assert.AreEqual(unitsCountBefore + 1, positionsTable.FindElements(By.TagName("tr")).Count()); Assert.AreEqual("1", Browser.FindElementByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[1]/a").Text); Assert.AreEqual("2", Browser.FindElementByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[2]/a").Text); Assert.IsTrue(Browser.FindElementByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[1]/a").GetAttribute("href").Contains("/PU/UnitEdit/6")); Assert.IsTrue(Browser.FindElementByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[2]/a").GetAttribute("href").Contains("/PU/UnitEdit/6")); using (AjourBTForTestContext dbContext = new AjourBTForTestContext()) { unitsCountAfter = dbContext.Units.Count(); } Assert.AreEqual(unitsCountAfter, unitsCountBefore); }
public void DropdownListOfUnits_SelectedUnit() { //Arrange string unit = "-"; int year = DateTime.Now.ToLocalTimeAzure().Year; //Act Thread.Sleep(Timings.Default_ms * 20); Browser.SelectByValue("//*[@id='vuByUnitsFirstHeader']/td[7]/span/select", unit); Thread.Sleep(Timings.Default_ms * 10); using (AjourBTForTestContext db = new AjourBTForTestContext()) { int rows = (from u in btsByUnitsFromRepository(year).AsEnumerable() where u.Unit.ShortTitle == unit select u).ToList().Count(); List <BusinessTrip> employeeBts = btsByUnitsFromRepository(year).Where(b => b.Unit.ShortTitle == unit).ToList(); ReadOnlyCollection <IWebElement> empTable = Browser.FindElementsByXPath("//*[@id='exampleBtsViewByUnits']/tbody/tr"); foreach (var element in empTable) { Assert.IsTrue(element.Text.Contains("-")); } //Assert Assert.AreEqual(employeeBts.Count, rows); Assert.AreEqual(unit, Browser.GetText("//*[@id='vuByUnitsFirstHeader']/td[7]/span/select/option[2]")); } }
public void AddGreeting_InValidInput_ValidationErrors() { List <Greeting> listBeforeAdd = new List <Greeting>(); using (AjourBTForTestContext db = new AjourBTForTestContext()) { listBeforeAdd = (from d in db.Greetings.AsEnumerable() select d).ToList(); } Browser.ClickByXPath("//*[@id='CreateGreeting']/span/span"); Assert.AreEqual(Browser.GetText("//*[@id='ui-dialog-title-Create Greeting']"), "Create Greeting"); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[1]/td[1]/label"), "GreetingHeader"); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[2]/td[1]/label"), "GreetingBody"); Browser.ClickByXPath("/html/body/div[3]/div[11]/div/button/span"); List <Greeting> listAfterAdd = new List <Greeting>(); using (AjourBTForTestContext data = new AjourBTForTestContext()) { listAfterAdd = (from d in data.Greetings.AsEnumerable() select d).ToList(); } Assert.IsTrue(Browser.HasElementByXPath("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[1]/td[2]/span/span")); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[1]/td[2]/span/span"), "The GreetingHeader field is required."); Assert.IsTrue(Browser.HasElementByXPath("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[2]/td[2]/span/span")); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[2]/td[2]/span/span"), "The GreetingBody field is required."); Assert.AreEqual(listBeforeAdd.Count, listAfterAdd.Count); }
public void CheckJourneys() { Thread.Sleep(Timings.Default_ms * 20); ReadOnlyCollection <IWebElement> daysFromBtTable = Browser.FindElementsByXPath("//tbody[@id='tbodyJourneys']/tr"); Thread.Sleep(Timings.Default_ms * 30); using (var db = new AjourBTForTestContext()) { List <BusinessTrip> btList = (from bt in db.BusinessTrips where bt.Journeys.Count > 0 select bt).ToList(); foreach (BusinessTrip item in btList) { Employee employee = (from emp in db.Employees.AsEnumerable() where emp.EmployeeID == item.EmployeeID select emp).FirstOrDefault(); List <Journey> journeyList = (from bts in db.BusinessTrips where bts.EmployeeID == employee.EmployeeID && bts.Journeys.Count > 0 from journ in bts.Journeys where journ.DayOff == true select journ).ToList(); if (journeyList.Count != 0) { foreach (Journey j in journeyList) { Console.WriteLine(j.Date.ToString(String.Format("dd.MM.yyyy"))); } } } } }
public void Employees_DropdownListOfDepartments_SelectedDepartment() { //Arrange string expected = "BOARD"; List <Employee> empsFromRepo = new List <Employee>(); //Act //Browser.Refresh(); //Thread.Sleep(Timings.Default_ms*10); //Browser.ClickOnLink("Calendar"); //Thread.Sleep(Timings.Default_ms*20); Browser.ClickByXPath("/html/body/div[1]/div/div[5]/form/div[1]/select"); Browser.ClickByXPath("/html/body/div[1]/div/div[5]/form/div[1]/select/option[2]"); int employees = Browser.Count("//*[contains(@id,'rowheader')]/span"); using (var db = new AjourBTForTestContext()) { empsFromRepo = db.Employees .Where(emp => emp.Department.DepartmentName == "BOARD" && emp.DateDismissed == null).ToList(); } //Assert Assert.AreEqual(expected, Browser.GetText("//*[@id='depDropList']/option[2]")); Assert.AreEqual(empsFromRepo.Count(), 10); }
public void UnpaidVacation_Deleted() { int beforeDeleteUnpaid = 0; int afterDeleteUnpaid = 0; TeardownTest(); LoginAsABM(); Browser.ClickOnLink("Calendar"); Thread.Sleep(Timings.Default_ms * 30); IWebElement unpaidVacation = Browser.FindElementByXPath("//div[@class='bar ganttRed'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "']"); Browser.ClickOnWebElement(unpaidVacation); Thread.Sleep(Timings.Default_ms * 15); using (var db = new AjourBTForTestContext()) { beforeDeleteUnpaid = db.Vacations.Count(item => item.Type == VacationType.UnpaidVacation); IWebElement Delete = Browser.FindElementByXPath("//a[@id='Delete']"); Browser.ClickOnWebElement(Delete); Thread.Sleep(Timings.Default_ms * 20); afterDeleteUnpaid = db.Vacations.Count(item => item.Type == VacationType.UnpaidVacation); } Thread.Sleep(Timings.Default_ms * 20); TeardownTest(); Setup(); Thread.Sleep(Timings.Default_ms * 20); Assert.Less(afterDeleteUnpaid, beforeDeleteUnpaid); IWebElement deletedElem = Browser.FindElementByXPath("//div[@class='bar ganttRed'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "']"); }
public void ClickOnSendButton() { Employee empWithGreetingMessageAllow = new Employee(); using (var db = new AjourBTForTestContext()) { empWithGreetingMessageAllow = (from emp in db.Employees where !(String.IsNullOrEmpty(emp.EMail)) && emp.DateDismissed == null select emp).FirstOrDefault(); } if (empWithGreetingMessageAllow != null) { ReadOnlyCollection <IWebElement> empTable = Browser.FindElementsByXPath("//tbody[@id='PUEmployee']/tr"); Console.WriteLine(empWithGreetingMessageAllow); foreach (var element in empTable) { Console.WriteLine(element.Text); if (element.Text.Contains(empWithGreetingMessageAllow.FirstName)) { Console.WriteLine(empWithGreetingMessageAllow.FirstName + " - " + element.Text); Assert.IsTrue(element.Text.Contains(empWithGreetingMessageAllow.LastName)); Assert.IsTrue(element.Text.Contains(empWithGreetingMessageAllow.EID)); } } } }
public void CheckDaysFromBTs_Overtimes_ealv() { ReadOnlyCollection <IWebElement> overtimesFromBtTable = Browser.FindElementsByXPath("//a[@id='overtimeLink']"); using (var db = new AjourBTForTestContext()) { Employee ealv = db.Employees.Where(e => e.EID == "ealv").FirstOrDefault(); List <Overtime> overtimes = (from item in db.Overtimes where item.Type == OvertimeType.Paid && item.EmployeeID == ealv.EmployeeID select item).ToList(); Assert.AreEqual(overtimesFromBtTable.Count, overtimes.Count); if (overtimes.Count > 0) { IWebElement daysFromBtTable = Browser.FindElementByXPath("//table[@id='journeysViewABM']/tbody[@id='tbodyJourneys']"); foreach (Overtime item in overtimes) { Assert.IsTrue(daysFromBtTable.Text.Contains(item.Date.ToString(String.Format("dd.MM.yyyy")))); } } else { Thread.Sleep(Timings.Default_ms * 10); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[4]/b"), "You have no days for reclaim"); } } }
public void K_CreatePrivateMinus_TodayDate_id49() { int beforeCreatePrivateMinus = 0; int afterCreatePrivateMinus = 0; IWebElement calendarField = Browser.FindElementByXPath("//div[@class='calendar']"); Browser.ClickOnWebElement(calendarField); Browser.Wait(10); IWebElement selectEvent = Browser.FindElementByXPath("//select[@id='event']"); IWebElement dateVacationFrom = Browser.FindElementByXPath("//input[@id='dateVacationFrom']"); IWebElement dateVacationTo = Browser.FindElementByXPath("//input[@id='dateVacationTo']"); IWebElement CreateEvent = Browser.FindElementByXPath("//a[@id='CreateEvent']"); Browser.SelectOption("event", 4); ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('dateVacationFrom').removeAttribute('readonly')"); ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('dateVacationTo').removeAttribute('readonly')"); Browser.SendKeysTo(dateVacationFrom, todayDate, true); Browser.SendKeysTo(dateVacationTo, todayDate, true); using (var db = new AjourBTForTestContext()) { beforeCreatePrivateMinus = db.Overtimes.Count(o => o.Type == OvertimeType.Private); Browser.ClickOnWebElement(CreateEvent); Thread.Sleep(Timings.Default_ms * 10); afterCreatePrivateMinus = db.Overtimes.Count(o => o.Type == OvertimeType.Private); } IWebElement privateMinusBar = Browser.FindElementByXPath("//div[@class='bar ganttYellow'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDateMillisecondsFromEpoch + "'][@data_id='49']"); Assert.Less(beforeCreatePrivateMinus, afterCreatePrivateMinus); Assert.AreEqual("49", privateMinusBar.GetAttribute("data_id")); Assert.AreEqual("PrivateMinus From: " + todayDate + " - To: " + todayDate + "", privateMinusBar.GetAttribute("desc")); }
public void H_CreateReclaimedOvertime_TodayDatePlus14days_id49() { int beforeCreateReclaimedOvertime = 0; int afterCreatereclaimedOvertime = 0; IWebElement calendarField = Browser.FindElementByXPath("//div[@class='calendar']"); Browser.ClickOnWebElement(calendarField); Thread.Sleep(Timings.Default_ms * 20); IWebElement selectEvent = Browser.FindElementByXPath("//select[@id='event']"); IWebElement dateVacationFrom = Browser.FindElementByXPath("//input[@id='dateVacationFrom']"); IWebElement dateVacationTo = Browser.FindElementByXPath("//input[@id='dateVacationTo']"); IWebElement CreateEvent = Browser.FindElementByXPath("//a[@id='CreateEvent']"); Browser.SelectOption("event", 2); ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('dateVacationFrom').removeAttribute('readonly')"); ((IJavaScriptExecutor)Browser.webDriver).ExecuteScript("document.getElementById('dateVacationTo').removeAttribute('readonly')"); Browser.SendKeysTo(dateVacationFrom, todayDatePlus14Days, true); Browser.SendKeysTo(dateVacationTo, todayDatePlus14Days, true); using (var db = new AjourBTForTestContext()) { beforeCreateReclaimedOvertime = db.CalendarItems.Count(); Browser.ClickOnWebElement(CreateEvent); Thread.Sleep(Timings.Default_ms * 20); afterCreatereclaimedOvertime = db.CalendarItems.Count(); } IWebElement reclaimedOvertimeBar = Browser.FindElementByXPath("//div[@class='bar ganttOrange'][@dayfrom='" + todayDatePlus14DaysMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "'][@data_id='49']"); Assert.Less(beforeCreateReclaimedOvertime, afterCreatereclaimedOvertime); Assert.AreEqual("49", reclaimedOvertimeBar.GetAttribute("data_id")); Assert.AreEqual("ReclaimedOvertime From: " + todayDatePlus14Days + " - To: " + todayDatePlus14Days + "", reclaimedOvertimeBar.GetAttribute("desc")); }
public void TestAddThesameCountry_CannotAdd() { int beforeAddCountry = 0; int afterAddCountry = 0; IWebElement addCountryBtn = Browser.FindElementByXPath("//a[@id='CreateCountry']"); addCountryBtn.Click(); timeout.Until(m => m.FindElement(By.XPath("//div[@id='Create Country']"))); IWebElement modalWindow = Browser.FindElementByXPath("//div[@id='Create Country']"); IWebElement CountryName = modalWindow.FindElement(By.XPath("//input[@id='CountryName']")); IWebElement Comment = modalWindow.FindElement(By.XPath("//input[@id='Comment']")); IWebElement saveBtn = modalWindow.FindElement(By.XPath("//div[@class='ui-dialog-buttonset']")); Browser.SendKeysTo(CountryName, "Nepal", false); Browser.SendKeysTo(Comment, "Test Comment", false); Thread.Sleep(Timings.Default_ms * 10); using (var db = new AjourBTForTestContext()) { beforeAddCountry = db.Countries.Count(); Browser.ClickOnWebElement(saveBtn); afterAddCountry = db.Countries.Count(); } Browser.Refresh(); Thread.Sleep(Timings.Default_ms * 20); Assert.AreEqual(beforeAddCountry, afterAddCountry); }
public void EditGreeting_InValidInput_ValidationErrors() { List <Greeting> listBeforeAdd = new List <Greeting>(); using (AjourBTForTestContext db = new AjourBTForTestContext()) { listBeforeAdd = (from d in db.Greetings.AsEnumerable() select d).ToList(); } Browser.Refresh(); Browser.ClickByXPath("//*[@id='GreetingData']/table/tbody/tr[2]/td/a"); Assert.AreEqual(Browser.GetText("//*[@id='ui-dialog-title-Edit Greeting']"), "Edit Greeting"); Assert.AreEqual(Browser.GetText("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[1]/td[1]/label"), "GreetingHeader"); Assert.AreEqual(Browser.GetText("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[2]/td[1]/label"), "GreetingBody"); Browser.SendKeysTo("GreetingHeader", "", true); Browser.SendKeys(Browser.FindElementByXPath("//*[@id='GreetingBody']"), ""); Browser.ClickByXPath("//*[@id='btnSaveGreeting']/span/span"); List <Greeting> listAfterAdd = new List <Greeting>(); using (AjourBTForTestContext data = new AjourBTForTestContext()) { listAfterAdd = (from d in data.Greetings.AsEnumerable() select d).ToList(); } Assert.IsTrue(Browser.HasElementByXPath("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[1]/td[2]/span/span")); Assert.AreEqual(Browser.GetText("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[1]/td[2]/span/span"), "The GreetingHeader field is required."); Assert.AreEqual(listBeforeAdd.Count, listAfterAdd.Count); }
public void SickAbsence_Deleted() { int beforeDeleteSick = 0; int afterDeleteSick = 0; TeardownTest(); LoginAsABM(); Browser.ClickOnLink("Calendar"); Thread.Sleep(Timings.Default_ms * 30); IWebElement sickAbsence = Browser.FindElementByXPath("//div[@class='bar ganttViolet'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "']"); Browser.ClickOnWebElement(sickAbsence); Thread.Sleep(Timings.Default_ms * 15); using (var db = new AjourBTForTestContext()) { beforeDeleteSick = db.Sicknesses.Count(); IWebElement Delete = Browser.FindElementByXPath("//a[@id='Delete']"); Browser.ClickOnWebElement(Delete); Thread.Sleep(Timings.Default_ms * 20); afterDeleteSick = db.Sicknesses.Count(); } Thread.Sleep(Timings.Default_ms * 20); TeardownTest(); Setup(); Thread.Sleep(Timings.Default_ms * 20); Assert.Less(afterDeleteSick, beforeDeleteSick); IWebElement deletedElem = Browser.FindElementByXPath("//div[@class='bar ganttViolet'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "']"); }
public void EditGreetingForm_DeleteButton_DeleteConfirm() { List <Greeting> listBeforeDelete = new List <Greeting>(); using (AjourBTForTestContext db = new AjourBTForTestContext()) { listBeforeDelete = (from d in db.Greetings.AsEnumerable() select d).ToList(); } Browser.Refresh(); Browser.ClickByXPath("//*[@id='GreetingData']/table/tbody/tr[2]/td/a"); Assert.AreEqual(Browser.GetText("//*[@id='ui-dialog-title-Edit Greeting']"), "Edit Greeting"); Assert.AreEqual(Browser.GetText("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[1]/td[1]/label"), "GreetingHeader"); Assert.AreEqual(Browser.GetText("//*[@id='editGreetingForm']/fieldset/table/tbody/tr[2]/td[1]/label"), "GreetingBody"); Browser.ClickByXPath("//*[@id='btnDeleteGreeting']/span/span"); Assert.IsTrue(Browser.HasElementByXPath("//*[@id='ui-dialog-title-deleteGreeting-Confirm']")); Assert.IsTrue(Browser.HasElementByXPath("//*[@id='btnCancelDeleteGreeting']/span/span")); Assert.IsTrue(Browser.HasElementByXPath("//*[@id='OKDelete']/span/span")); Browser.ClickByXPath("//*[@id='OKDelete']/span/span"); List <Greeting> listAfterDelete = new List <Greeting>(); using (AjourBTForTestContext data = new AjourBTForTestContext()) { listAfterDelete = (from d in data.Greetings.AsEnumerable() select d).ToList(); } Assert.AreEqual(listBeforeDelete.Count - 1, listAfterDelete.Count); }
public void OvertimesForReclaim_Deleted() { int beforeDeleteOvertimeForReclaim = 0; int afterdeleteOvertimeForReclaim = 0; TeardownTest(); LoginAsABM(); Browser.ClickOnLink("Calendar"); Thread.Sleep(Timings.Default_ms * 30); IWebElement overtimeForReclaim = Browser.FindElementByXPath("//div[@class='bar ganttMagenta'][@dayfrom='" + todayDatePlus14DaysMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "']"); Browser.ClickOnWebElement(overtimeForReclaim); Thread.Sleep(Timings.Default_ms * 20); using (var db = new AjourBTForTestContext()) { beforeDeleteOvertimeForReclaim = db.Overtimes.Count(o => o.Type == OvertimeType.Paid); IWebElement Delete = Browser.FindElementByXPath("//a[@id='Delete']"); Browser.ClickOnLink("Delete"); Thread.Sleep(Timings.Default_ms * 20); Browser.Refresh(); Thread.Sleep(Timings.Default_ms * 30); afterdeleteOvertimeForReclaim = db.Overtimes.Count(o => o.Type == OvertimeType.Paid); } Thread.Sleep(Timings.Default_ms * 20); TeardownTest(); Thread.Sleep(Timings.Default_ms * 20); Setup(); Thread.Sleep(Timings.Default_ms * 30); Assert.Less(afterdeleteOvertimeForReclaim, beforeDeleteOvertimeForReclaim); IWebElement deletedElem = Browser.FindElementByXPath("//div[@class='bar ganttMagenta'][@dayfrom='" + todayDatePlus14DaysMillisecondsFromEpoch + "'][@dayto='" + todayDatePlus14DaysMillisecondsFromEpoch + "'][@data_id='45']"); }
public void AddGreeting_ValidInput_CanCreateGreeting() { List <Greeting> listBeforeAdd = new List <Greeting>(); using (AjourBTForTestContext db = new AjourBTForTestContext()) { listBeforeAdd = (from d in db.Greetings.AsEnumerable() select d).ToList(); } Browser.Refresh(); Browser.ClickByXPath("//*[@id='CreateGreeting']/span/span"); Assert.AreEqual(Browser.GetText("//*[@id='ui-dialog-title-Create Greeting']"), "Create Greeting"); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[1]/td[1]/label"), "GreetingHeader"); Assert.AreEqual(Browser.GetText("//*[@id='createGreetingForm']/fieldset/table/tbody/tr[2]/td[1]/label"), "GreetingBody"); Browser.SendKeysTo("GreetingHeader", "AddedGreeting", false); Browser.SendKeys(Browser.FindElementByXPath("//*[@id='GreetingBody']"), "Be happy!"); Browser.ClickByXPath("/html/body/div[3]/div[11]/div/button/span"); List <Greeting> listAfterAdd = new List <Greeting>(); using (AjourBTForTestContext data = new AjourBTForTestContext()) { listAfterAdd = (from d in data.Greetings.AsEnumerable() select d).ToList(); } Assert.IsTrue(Browser.HasElement("AddedGreeting")); Assert.AreEqual(listBeforeAdd.Count + 1, listAfterAdd.Count); }
public void OvertimeReclaimedOvertime_Deleted() { int beforeDeleteReclaimedOvertime = 0; int afterDeleteReclaimedOvertime = 0; TeardownTest(); LoginAsABM(); Browser.ClickOnLink("Calendar"); Thread.Sleep(Timings.Default_ms * 30); IWebElement reclaimedOvertime = Browser.FindElementByXPath("//div[@class='bar ganttOrange'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDateMillisecondsFromEpoch + "']"); Browser.ClickOnWebElement(reclaimedOvertime); Thread.Sleep(Timings.Default_ms * 20); using (var db = new AjourBTForTestContext()) { beforeDeleteReclaimedOvertime = db.CalendarItems.Count(); IWebElement Delete = Browser.FindElementByXPath("//a[@id='Delete']"); Browser.ClickOnWebElement(Delete); Thread.Sleep(Timings.Default_ms * 20); afterDeleteReclaimedOvertime = db.CalendarItems.Count(); } Thread.Sleep(Timings.Default_ms * 20); TeardownTest(); Setup(); Thread.Sleep(Timings.Default_ms * 20); Assert.Less(afterDeleteReclaimedOvertime, beforeDeleteReclaimedOvertime); IWebElement deletedElem = Browser.FindElementByXPath("//div[@class='bar ganttOrange'][@dayfrom='" + todayDateMillisecondsFromEpoch + "'][@dayto='" + todayDateMillisecondsFromEpoch + "']"); }
public void CreateQuestionnaire_AddCuestionnaire() { using (AjourBTForTestContext context = new AjourBTForTestContext()) { List <Questionnaire> questionnaireList = context.Questionnaire.ToList(); IReadOnlyCollection <IWebElement> questionnairesCollection = Browser.FindElementsByXPath("//a[@class='questionTitle']"); Assert.AreEqual(questionnaireList.Count, questionnairesCollection.Count); Browser.ClickByXPath("//*[@id='addQuestionnaireButton']/span"); Browser.SendKeys(Browser.FindElementByXPath("//*[@id='createQuestionnaireTable']/tbody/tr[1]/td/input"), "New Questionnaire"); Thread.Sleep(Timings.Default_ms * 10); Browser.ClickByXPath("//*[@id='addQuestionnaire']"); Thread.Sleep(Timings.Default_ms * 20); using (AjourBTForTestContext context2 = new AjourBTForTestContext()) { List <Questionnaire> questionnaireListAfterAdd = context.Questionnaire.ToList(); IReadOnlyCollection <IWebElement> questionnairesCollectionAfterAdd = Browser.FindElementsByXPath("//a[@class='questionTitle']"); Assert.AreEqual(questionnaireListAfterAdd.Count, questionnairesCollectionAfterAdd.Count); Assert.Greater(questionnaireListAfterAdd.Count, questionnaireList.Count); Assert.Greater(questionnairesCollectionAfterAdd.Count, questionnairesCollection.Count); } } }
public void TableData() { int selectedYear = DateTime.Now.ToLocalTimeAzure().Year; Browser.Refresh(); Thread.Sleep(Timings.Default_ms * 10); Browser.ClickOnLink("BTs by Quarters"); Thread.Sleep(Timings.Default_ms * 20); int year = DateTime.Now.ToLocalTimeAzure().Year; using (AjourBTForTestContext db = new AjourBTForTestContext()) { List <Employee> employeeBts = (from e in db.Employees.AsEnumerable() where e.IsUserOnly == false select e).ToList(); Employee empBT = employeeBts.FirstOrDefault(); if (empBT != null) { ReadOnlyCollection <IWebElement> empTable = Browser.FindElementsByXPath("//*[@id='BTsInQuarterForViewerexample']/tbody/tr"); Thread.Sleep(Timings.Default_ms * 20); foreach (var element in empTable) { if (element.Text.Contains(empBT.EID)) { Assert.IsTrue(element.Text.Contains(empBT.FirstName)); Assert.IsTrue(element.Text.Contains(empBT.LastName)); } } Assert.AreEqual(employeeBts.Count, empTable.Count()); } } }
public void TryDeleteUnit_Deleted() { int unitsCountBefore, unitsCountAfter; using (AjourBTForTestContext dbContext = new AjourBTForTestContext()) { unitsCountBefore = dbContext.Units.Count(); } Browser.ClickByXPath("/html/body/div[1]/div/div[6]/div/table/tbody/tr[7]/td[1]/a"); Thread.Sleep(Timings.Default_ms * 10); Assert.AreEqual("Edit Unit", Browser.FindElementByXPath("//*[@id='ui-dialog-title-Edit Unit']").Text); Assert.AreEqual("ShortTitle", Browser.FindElementByXPath("/html/body/div[3]/div[2]/form[1]/fieldset/table/tbody/tr[1]/td[1]/label").Text); Assert.AreEqual("Title", Browser.FindElementByXPath("/html/body/div[3]/div[2]/form[1]/fieldset/table/tbody/tr[2]/td[1]/label").Text); Browser.ClickByXPath("/html/body/div[3]/div[2]/form[2]/div/button"); Thread.Sleep(Timings.Default_ms * 10); Assert.IsTrue(Browser.FindElementByXPath("/html/body/div[5]/div[1]/span").Text.Contains("Delete")); Assert.AreEqual("OK", Browser.FindElementByXPath("/html/body/div[5]/div[3]/div/button[1]").Text); Assert.AreEqual("Cancel", Browser.FindElementByXPath("/html/body/div[5]/div[3]/div/button[2]").Text); Browser.ClickByXPath("/html/body/div[5]/div[3]/div/button[1]"); Thread.Sleep(Timings.Default_ms * 10); IWebElement positionsTable = Browser.FindElementByXPath("//*[@id='UnitData']/table"); Assert.AreEqual(unitsCountBefore, positionsTable.FindElements(By.TagName("tr")).Count()); using (AjourBTForTestContext dbContext = new AjourBTForTestContext()) { unitsCountAfter = dbContext.Units.Count(); } Assert.AreEqual(unitsCountAfter + 1, unitsCountBefore); }
public void CheckJourneys() { ReadOnlyCollection <IWebElement> daysFromBtTable = Browser.FindElementsByXPath("//tbody[@id='tbodyJourneys']/tr"); foreach (IWebElement tableElement in daysFromBtTable) { ReadOnlyCollection <IWebElement> daysFromBtTableTD = tableElement.FindElements(By.CssSelector("td")); string empFromTable = daysFromBtTableTD[2].Text; using (var db = new AjourBTForTestContext()) { Employee emp = db.Employees.Where(e => e.EID == empFromTable).FirstOrDefault(); List <Journey> journeys = (from bts in db.BusinessTrips where bts.EmployeeID == emp.EmployeeID && bts.Journeys.Count > 0 from journ in bts.Journeys where journ.DayOff == true select journ).ToList(); if (journeys != null) { foreach (Journey j in journeys) { Assert.IsTrue(daysFromBtTableTD[3].Text.Contains(j.Date.ToString(String.Format("dd.MM.yyyy")))); } } } } }
public void BtsByUnits_TableRows() { //Arrange using (AjourBTForTestContext db = new AjourBTForTestContext()){ BusinessTrip employeeBt = (from bt in db.BusinessTrips.AsEnumerable() where (bt.Status == BTStatus.Cancelled || bt.Status == (BTStatus.Confirmed | BTStatus.Modified) || bt.Status == (BTStatus.Confirmed | BTStatus.Reported)) && bt.StartDate.Year == DateTime.Now.ToLocalTimeAzure().Year orderby bt.UnitID select bt).FirstOrDefault(); //Act //Assert Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[1]"), employeeBt.UnitID.ToString()); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[2]"), employeeBt.BTof.EID); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[3]"), String.Format(employeeBt.BTof.LastName + " " + employeeBt.BTof.FirstName)); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[4]"), employeeBt.Location.Title); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[7]"), employeeBt.Unit.ShortTitle.ToString()); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[8]"), employeeBt.Purpose); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[9]"), employeeBt.Manager); Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[10]"), employeeBt.Responsible); } //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[1]/td[1]"), "1"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[2]"), "swhe"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[3]"), "Harper Earl"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[4]"), "RB/MA"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[7]"), "-"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[8]"), "Meeting"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[9]"), "ncru"); //Assert.AreEqual(Browser.GetText("/html/body/div[1]/div/div[6]/div/div/div[2]/div[2]/table/tbody/tr[2]/td[10]"), "mter"); }
public void CheckOvertimes() { ReadOnlyCollection <IWebElement> daysFromBtTable = Browser.FindElementsByXPath("//tbody[@id='tbodyJourneys']/tr"); foreach (IWebElement tableElement in daysFromBtTable) { ReadOnlyCollection <IWebElement> daysFromBtTableTD = tableElement.FindElements(By.CssSelector("td")); string empFromTable = daysFromBtTableTD[2].Text; using (var db = new AjourBTForTestContext()) { Employee emp = db.Employees.Where(e => e.EID == empFromTable).FirstOrDefault(); List <Overtime> overtimes = (from over in db.Overtimes where over.Type == OvertimeType.Paid && over.EmployeeID == emp.EmployeeID select over).ToList(); if (overtimes != null) { foreach (Overtime o in overtimes) { Assert.IsTrue(daysFromBtTableTD[3].Text.Contains(o.Date.ToString(String.Format("dd.MM.yyyy")))); } } } } }
public void PrivateTripAdd() { int beforeAddPrivateTrip = 0; int afterAddPrivateTrip = 0; Thread.Sleep(Timings.Default_ms * 30); empList = Browser.FindElementsByXPath("//tr[contains(@class,'zebra')]"); IWebElement addBtn = empList[0].FindElement(By.XPath("//a[@id='AddPrivateTrip']")); Browser.ClickOnWebElement(addBtn); Thread.Sleep(Timings.Default_ms * 20); Tools.ClickOnTwoDatePickers(Browser.webDriver, Browser.wait(10)); IWebElement saveBtn = Browser.FindElementByXPath("//button[@id='btnSavePrivateTrip']"); using (var db = new AjourBTForTestContext()) { beforeAddPrivateTrip = db.PrivateTrips.Count(); Browser.ClickOnWebElement(saveBtn); Thread.Sleep(Timings.Default_ms * 30); afterAddPrivateTrip = db.PrivateTrips.Count(); } empList = Browser.FindElementsByXPath("//tbody[@id='PTViewBody']/tr[contains(@class,'zebra')]"); Assert.Less(beforeAddPrivateTrip, afterAddPrivateTrip); Assert.IsTrue(empList[0].Text.Contains(Tools.TestDate)); }
public void EditFinished_EditFlightsConfirmed() { int selectedYear = DateTime.Now.ToLocalTimeAzure().Year; Browser.Refresh(); Thread.Sleep(Timings.Default_ms * 20); Browser.ClickOnLink("Finished BTs"); Thread.Sleep(Timings.Default_ms * 20); Browser.ClickByXPath("//*[@id='selectedYear']"); Browser.ClickByXPath("//*[@id='selectedYear']/option[4]"); Thread.Sleep(Timings.Default_ms * 20); ReadOnlyCollection <IWebElement> empTable = Browser.FindElementsByXPath("//*[@id='exampleBtsViewByDatesPU']/tbody/tr"); Thread.Sleep(Timings.Default_ms * 20); Browser.ClickByXPath("//*[@id='exampleBtsViewByDatesPU']/tbody/tr[1]/td[1]/a"); Thread.Sleep(Timings.Default_ms * 20); Browser.ClickByXPath("//*[@id='FlightsConfirmed']"); string SaveBTButtonXPath = "/html/body/div[4]/div[2]/form/div/button"; Browser.ClickByXPath(SaveBTButtonXPath); Thread.Sleep(Timings.Default_ms * 20); BusinessTrip bt; using (AjourBTForTestContext dbContext = new AjourBTForTestContext()) { bt = dbContext.BusinessTrips.Where(b => b.BusinessTripID == 94).FirstOrDefault(); } Assert.IsNotNull(bt); Assert.AreEqual(true, bt.FlightsConfirmed); }
public void TestDropDownList() { Dictionary <int, string> magicDictonary = new Dictionary <int, string>(); //<option number in DropDownList, EID> magicDictonary.Add(3, "gemu"); magicDictonary.Add(4, "shne"); magicDictonary.Add(5, "dago"); magicDictonary.Add(6, "boon"); magicDictonary.Add(7, "fekr"); magicDictonary.Add(8, "moli"); magicDictonary.Add(9, "lian"); IWebElement dropDownList = Browser.FindElementByXPath("//select[@id='userDepDropList']"); Thread.Sleep(Timings.Default_ms * 10); using (var db = new AjourBTForTestContext()) { foreach (var item in magicDictonary) { Employee emp = db.Employees.Where(e => e.EID == item.Value).FirstOrDefault(); Browser.SelectOption("userDepDropList", item.Key); Thread.Sleep(Timings.Default_ms * 20); IWebElement table = Browser.FindElementByXPath("//tbody[@id='userTableBody']/tr"); Assert.IsTrue(table.Text.Contains(emp.EID)); Assert.IsTrue(table.Text.Contains(emp.FirstName)); Assert.IsTrue(table.Text.Contains(emp.LastName)); } } }
public void TestEditCountryName() { Country editedCountry = new Country(); Thread.Sleep(Timings.Default_ms * 20); IWebElement countryToEdit = Browser.FindElementByLinkText("Poland"); Browser.ClickOnWebElement(countryToEdit); Thread.Sleep(Timings.Default_ms * 15); IWebElement nameField = Browser.FindElementByXPath("//input[@id='CountryName']"); Browser.SendKeysTo(nameField, "Polandium", true); IWebElement saveBtn = Browser.FindElementByXPath("//button[@id='btnSaveCountry']"); Browser.ClickOnWebElement(saveBtn); Thread.Sleep(Timings.Default_ms * 15); using (var db = new AjourBTForTestContext()) { editedCountry = db.Countries.Where(c => c.CountryName == "Polandium").FirstOrDefault(); } string classValue = Browser.FindElementByLinkText("Polandium").GetAttribute("class"); Assert.IsNotNull(editedCountry); Assert.AreEqual("countryEditDialog", classValue); }