public void Dashboard_Home_Giving_BigNumber_TurnOffAllFunds() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; DateTime now = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time")); string[] viewTypes = new string[] { "week", "month", "quarter", "year" }; try { int churchId = test.SQL.FetchChurchID(test.Dashboard.ChurchCode); int userId = test.SQL.User_FetchID(churchId, test.Dashboard.DashboardEmail, test.Dashboard.DashboardUsername); test.Dashboard.LoginWebDriver(); test.GeneralMethods.WaitForPageIsLoaded(); DashboardHomePage home = new DashboardHomePage(test.Driver, test.GeneralMethods); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); home.openSettingsPage(); int totalItems = settings.getWidgetSubItemsOnPage(1).Count; for (int i = 1; i <= totalItems; i++) { settings.uncheckWidgetItem(1, i); } settings.closeSettingsPage(); foreach (string viewType in viewTypes) { home.selectView(viewType); string bigNumber = home.getWidgetBigNumber(1); double subTotalOnPage = double.Parse(bigNumber.Replace("$", "").Replace(",", "")); DateTime[] dateRange = test.Dashboard.getDateRange(now, viewType, 1); double subTotalInDb = test.SQL.Dashboard_Giving_GetPeriodSum(churchId, userId, dateRange[0], dateRange[1]); //verify the big number on page is correct TestLog.WriteLine(string.Format("{0}|{1}", subTotalOnPage, subTotalInDb)); Assert.AreEqual(subTotalOnPage, subTotalInDb); Assert.AreEqual(subTotalOnPage, 0); } home.openSettingsPage(); for (int i = 1; i <= totalItems; i++) { settings.checkWidgetItem(1, i); } } finally { //clear test data test.SQL.Dashboard_ClearData(test.SQL.FetchChurchID(test.Dashboard.ChurchCode), test.Dashboard.DashboardUsername); } }
public void Dashboard_Setting_NewFund_Refresh() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; string fund_name_1 = utility.GetUniqueName("fund1"); string fund_name_2 = utility.GetUniqueName("fund2"); int church_id = test.SQL.FetchChurchID(test.Dashboard.ChurchCode); try { test.Dashboard.LoginWebDriver(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); ArrayList fundsOnPage = settings.getWidgetSubItemsOnPage(1); TestLog.WriteLine(fundsOnPage.Count); test.SQL.Giving_Funds_Create(church_id, fund_name_1, true, null, 1, true, "Auto Testing"); test.SQL.Giving_Funds_Create(church_id, fund_name_2, true, null, 2, true, "Auto Testing"); test.Driver.Navigate().Refresh(); utility.WaitForPageIsLoaded(); ArrayList fundsOnPageNew = settings.getWidgetSubItemsOnPage(1); //verify newly added fund has been shown on the page Assert.AreEqual(fundsOnPageNew.Count, fundsOnPage.Count + 1); Assert.IsTrue(fundsOnPageNew.Contains((object)fund_name_1)); } finally { //clear test data test.SQL.Giving_Funds_Delete(church_id, fund_name_1); test.SQL.Giving_Funds_Delete(church_id, fund_name_2); } }
public void Dashboard_AttributeGroup_Settings_NewAttribute_WithoutStartDate() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; int churchId = test.SQL.FetchChurchID(test.Dashboard.ChurchCode); string activeAttributeGroup = utility.GetUniqueName("aag"); string activeAttributeWithoutStartDate = utility.GetUniqueName("aawsd"); try { test.SQL.Admin_IndividualAttributeGroups_Create(churchId, activeAttributeGroup, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, activeAttributeWithoutStartDate, true, false, false, false, true); test.Dashboard.LoginWebDriver(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); int widgetsTotal = settings.getWidgetsTotalOnPage(); bool hasCustomerizedActiveAttributeWithoutStartDate = false; for (int i = 1; i <= widgetsTotal; i++) { if (settings.getWidgetName(i).Contains(activeAttributeGroup)) { ArrayList items = settings.getWidgetSubItemsOnPage(i); foreach (string item in items) { if (item.Contains(activeAttributeWithoutStartDate)) { TestLog.WriteLine(string.Format("The customerized active attribute '{0}' without 'start date' is found", item)); hasCustomerizedActiveAttributeWithoutStartDate = true; } } Assert.IsFalse(hasCustomerizedActiveAttributeWithoutStartDate, "Active attribute without 'start date' should cannot be shown on page"); break; } } } finally { //clear test data test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, activeAttributeWithoutStartDate); test.SQL.Admin_IndividualAttributeGroups_Delete(churchId, activeAttributeGroup); } }
public void Dashboard_Setting_DefaultFunds() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; try { int churchId = test.SQL.FetchChurchID(test.Dashboard.ChurchCode); test.SQL.Dashboard_ClearData(churchId, test.Dashboard.DashboardUsername); test.Dashboard.LoginWebDriver(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); ArrayList fundsInSql = test.SQL.Dashboard_Giving_GetAllFundsName(churchId); ArrayList fundsOnPage = settings.getWidgetSubItemsOnPage(1); TestLog.WriteLine(fundsOnPage.Count); Assert.AreEqual(fundsInSql.Count, fundsOnPage.Count); foreach (var itemOnPage in fundsOnPage) { bool flag = false; TestLog.WriteLine(itemOnPage.ToString()); object[] funds = fundsInSql.ToArray(); for (int i = 0; i < funds.Length; i++) { if (funds[i].ToString().Replace(" ", "").Contains(itemOnPage.ToString().Replace(" ", ""))) { flag = true; TestLog.WriteLine(funds[i].ToString() + "|" + itemOnPage.ToString()); if (funds[i].ToString().Contains("inactive")) { Assert.IsTrue(settings.isWidgetItemInactive(1, i + 1)); } } } Assert.IsTrue(flag); } } finally { //clear test data } }
public void Dashboard_Setting_Saved_After_closed() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; Random rand = new Random(); bool checkOruncheckGivingItem = false; try { test.Dashboard.LoginWebDriver(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); int numberOfSubItem = settings.getWidgetSubItemsOnPage(1).Count; int randomSubItemIndex = rand.Next(numberOfSubItem); int numberOfTurnedOnWidget = settings.getTurnedOnWidgetsTotalOnPage(settings.getWidgetsTotalOnPage()); bool isGivingWidgetTurnedOn = settings.isWidgetTurnedOn(1); bool isAttendanceWidgetTurnedOn = settings.isWidgetTurnedOn(2); #region make modification on settings page if (isGivingWidgetTurnedOn) { if (numberOfSubItem > 0) { if (settings.isWidgetItemChecked(1, randomSubItemIndex)) { settings.uncheckWidgetItem(1, randomSubItemIndex); checkOruncheckGivingItem = false; } else { settings.checkWidgetItem(1, randomSubItemIndex); checkOruncheckGivingItem = true; } } settings.turnOffWidget(1); } else { if (numberOfTurnedOnWidget < 6) { settings.turnOnWidget(1); } else { isGivingWidgetTurnedOn = !isGivingWidgetTurnedOn; numberOfTurnedOnWidget++; } if (numberOfSubItem > 0) { if (settings.isWidgetItemChecked(1, randomSubItemIndex)) { settings.uncheckWidgetItem(1, randomSubItemIndex); checkOruncheckGivingItem = false; } else { settings.checkWidgetItem(1, randomSubItemIndex); checkOruncheckGivingItem = true; } } } if (isAttendanceWidgetTurnedOn) { settings.turnOffWidget(2); } else { if (numberOfTurnedOnWidget < 6) { settings.turnOnWidget(2); } else { isAttendanceWidgetTurnedOn = !isAttendanceWidgetTurnedOn; } } #endregion settings.closeSettingsPage(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); //verify all update on giving widget is saved Assert.AreEqual(settings.isWidgetTurnedOn(1), !isGivingWidgetTurnedOn); Assert.AreEqual(settings.isWidgetItemChecked(1, randomSubItemIndex), checkOruncheckGivingItem); //verify all update on attendance widget is saved Assert.AreEqual(settings.isWidgetTurnedOn(2), !isAttendanceWidgetTurnedOn); } finally { //clear test data } }
public void Dashboard_AttributeGroup_Settings_SpecialAttributes() { TestBaseWebDriver test = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name]; GeneralMethods utility = test.GeneralMethods; int churchId = test.SQL.FetchChurchID(test.Dashboard.ChurchCode); string activeAttributeGroup = utility.GetUniqueName("aag"); bool is_attribute_salvation_checked = false; bool is_attribute_baptism_checked = false; bool is_attribute_dedication_checked = false; bool is_attribute_re_dedication_checked = false; bool is_attribute_rededication_checked = false; bool is_attribute_baby_dedication_checked = false; try { test.SQL.Dashboard_ClearData(churchId, test.Dashboard.DashboardUsername); test.SQL.Admin_IndividualAttributeGroups_Create(churchId, activeAttributeGroup, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "salvation", true, true, false, false, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "baptism", true, true, false, false, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "dedication", true, true, false, false, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "re-dedication", true, true, false, false, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "rededication", true, true, false, false, true); test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "baby dedication", true, true, false, false, true); test.Dashboard.LoginWebDriver(); new DashboardHomePage(test.Driver, test.GeneralMethods).openSettingsPage(); DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL); int widgetsTotal = settings.getWidgetsTotalOnPage(); for (int i = 1; i <= widgetsTotal; i++) { if (settings.getWidgetName(i).Contains(activeAttributeGroup)) { object[] items = settings.getWidgetSubItemsOnPage(i).ToArray(); for (int j = 0; j < items.Length; j++) { if (items[j].ToString().ToLower().Contains("salvation")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_salvation_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_salvation_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); continue; } if (items[j].ToString().ToLower().Contains("baptism")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_baptism_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_baptism_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); continue; } if (items[j].ToString().ToLower().Contains("dedication")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_dedication_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_dedication_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); continue; } if (items[j].ToString().ToLower().Contains("re-dedication")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_re_dedication_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_re_dedication_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); continue; } if (items[j].ToString().ToLower().Contains("rededication")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_rededication_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_rededication_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); continue; } if (items[j].ToString().ToLower().Contains("baby dedication")) { TestLog.WriteLine(string.Format("The active attribute '{0}' is found", items[j])); is_attribute_baby_dedication_checked = settings.isWidgetItemChecked(i, j + 1); Assert.IsTrue(is_attribute_baby_dedication_checked, string.Format("Active attribute '{0}' should be checked by default", items[j])); } } } } } finally { //clear test data test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "salvation"); test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "baptism"); test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "dedication"); test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "re-dedication"); test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "rededication"); test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "baby dedication"); test.SQL.Admin_IndividualAttributeGroups_Delete(churchId, activeAttributeGroup); } }