public void Dashboard_Setting_Giving_ReportRights_NotShow()
        {
            TestBaseWebDriver test    = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name];
            GeneralMethods    utility = test.GeneralMethods;

            int churchId = test.SQL.FetchChurchID(test.Dashboard.ChurchCode);
            int userId   = test.SQL.User_FetchID(churchId, test.Dashboard.DashboardEmail, test.Dashboard.DashboardUsername);

            try
            {
                test.Portal.LoginWebDriver(test.Dashboard.DashboardUsername, test.Dashboard.DashboardPassword, test.Dashboard.ChurchCode);

                test.Dashboard.uncheckAllRoles(userId);
                test.Dashboard.uncheckAccessRight(userId, "Contribution");
                test.Dashboard.uncheckAccessRight(userId, "Contributor Visibility");
                test.Dashboard.uncheckAccessRight(userId, "Contributor Summaries");

                test.Dashboard.LoginWebDriver();
                DashboardHomePage home = new DashboardHomePage(test.Driver, test.GeneralMethods);
                Assert.IsFalse(home.getWidgetName(1).ToLower().Contains("giving"));

                home.openSettingsPage();
                DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL);

                //verify the giving widget is removed
                Assert.IsFalse(settings.getWidgetName(1).ToLower().Contains("giving"));

                test.Driver.Manage().Cookies.DeleteAllCookies();
                test.Portal.LoginWebDriver(test.Dashboard.DashboardUsername, test.Dashboard.DashboardPassword, test.Dashboard.ChurchCode);
                test.Dashboard.checkAccessRight(userId, "Contribution");
                test.Dashboard.checkAccessRight(userId, "Contributor Visibility");
                test.Dashboard.checkAccessRight(userId, "Contributor Summaries");
                //test.Dashboard.LoginWebDriver();
                test.Portal.LogoutWebDriver();
                test.Dashboard.OpenLoginWebDriver();

                //verify the giving widget is back
                home.openSettingsPage();
                Assert.IsTrue(settings.getWidgetName(1).ToLower().Contains("giving"));
                settings.turnOnWidget(1);

                //verify the giving widget is closed
                Assert.IsFalse(settings.isWidgetTurnedOn(1));
            }
            finally
            {
                //clear test data
                test.Driver.Manage().Cookies.DeleteAllCookies();
                test.Portal.LoginWebDriver(test.Dashboard.DashboardUsername, test.Dashboard.DashboardPassword, test.Dashboard.ChurchCode);
                test.Dashboard.checkAllRoles(userId);
            }
        }
示例#2
0
        public void Dashboard_AttributeGroup_Home_BigNumber_NewAttributeGroup()
        {
            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");

            try
            {
                test.SQL.Admin_IndividualAttributeGroups_Create(churchId, activeAttributeGroup, true);
                test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, "salvation", true, true, false, false, true);

                test.Dashboard.LoginWebDriver();
                DashboardHomePage     home     = new DashboardHomePage(test.Driver, test.GeneralMethods);
                DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL);

                home.openSettingsPage();
                int widgetsTotal        = settings.getWidgetsTotalOnPage();
                int turnedOnWidgetTotal = settings.getTurnedOnWidgetsTotalOnPage(widgetsTotal);

                for (int i = 1; i <= widgetsTotal; i++)
                {
                    if (settings.getWidgetName(i).Contains(activeAttributeGroup))
                    {
                        Assert.IsFalse(settings.isWidgetItemChecked(i, 1), "Active attribute 'salvation' should not be checked");
                        if (turnedOnWidgetTotal == 6)
                        {
                            settings.turnOffMultiWidgets(widgetsTotal, 1);
                        }
                        settings.turnOnWidget(i);

                        settings.checkWidgetItem(i, 1);

                        break;
                    }
                }

                settings.closeSettingsPage();
                home.selectView("year");

                for (int i = 1; i <= turnedOnWidgetTotal; i++)
                {
                    if (home.getWidgetName(i).Contains(activeAttributeGroup))
                    {
                        string bigNumber      = home.getWidgetBigNumber(i);
                        int    subTotalOnPage = int.Parse(bigNumber.Replace(",", ""));
                        Assert.AreEqual(subTotalOnPage, 0, "The big number of attribute group should be 0");
                        break;
                    }
                }
            }
            finally
            {
                //clear test data
                test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, "salvation");
                test.SQL.Admin_IndividualAttributeGroups_Delete(churchId, activeAttributeGroup);
            }
        }
示例#3
0
        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);
            }
        }
示例#4
0
        public void Dashboard_AttributeGroup_Home_BigNumber_NewIndividual()
        {
            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"));
            int      churchId                        = test.SQL.FetchChurchID(test.Dashboard.ChurchCode);
            int      userId                          = test.SQL.User_FetchID(churchId, test.Dashboard.DashboardEmail, test.Dashboard.DashboardUsername);
            string   activeAttributeGroup            = utility.GetUniqueName("aag");
            string   activeAttributeWithStartDate    = utility.GetUniqueName("aa1");
            string   activeAttributeWithoutStartDate = utility.GetUniqueName("aa2");
            string   individual_1                    = utility.GetUniqueName("ind1");
            string   individual_2                    = utility.GetUniqueName("ind2");
            string   individual_3                    = utility.GetUniqueName("ind3");
            string   individual_4                    = utility.GetUniqueName("ind4");

            test.SQL.Admin_IndividualAttributeGroups_Create(churchId, activeAttributeGroup, true);
            test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, activeAttributeWithStartDate, false, true, false, false, true);
            test.SQL.Admin_IndividualAttributes_Create(churchId, activeAttributeGroup, activeAttributeWithoutStartDate, false, false, false, false, true);
            test.SQL.People_Individual_Create(churchId, "AutoTest", individual_1);
            test.SQL.People_Individual_Create(churchId, "AutoTest", individual_2);
            test.SQL.People_Individual_Create(churchId, "AutoTest", individual_3);
            test.SQL.People_Individual_Create(churchId, "AutoTest", individual_4);
            int individual_1_id = test.SQL.People_Individuals_FetchID(churchId, "AutoTest " + individual_1);
            int individual_2_id = test.SQL.People_Individuals_FetchID(churchId, "AutoTest " + individual_2);
            int individual_3_id = test.SQL.People_Individuals_FetchID(churchId, "AutoTest " + individual_3);
            int individual_4_id = test.SQL.People_Individuals_FetchID(churchId, "AutoTest " + individual_4);

            int attributeGroupId             = test.SQL.Admin_Fetch_AttributeGroupID(churchId, activeAttributeGroup);
            int attributeId_withStartDate    = test.SQL.Admin_Fetch_AttributeID(churchId, attributeGroupId, activeAttributeWithStartDate);
            int attributeId_withoutStartDate = test.SQL.Admin_Fetch_AttributeID(churchId, attributeGroupId, activeAttributeWithoutStartDate);

            test.SQL.Dashboard_Insert_IndividualAttribute(churchId, individual_1_id, attributeId_withStartDate, now, now.AddYears(100));
            test.SQL.Dashboard_Insert_IndividualAttribute(churchId, individual_2_id, attributeId_withStartDate, now.AddDays(-370), now.AddYears(-1));
            test.SQL.Dashboard_Insert_IndividualAttribute(churchId, individual_3_id, attributeId_withoutStartDate, now.AddYears(100), now.AddYears(100));
            test.SQL.Dashboard_Insert_IndividualAttribute(churchId, individual_4_id, attributeId_withStartDate, now.AddDays(-2), now);

            try
            {
                test.Dashboard.LoginWebDriver();
                DashboardHomePage     home     = new DashboardHomePage(test.Driver, test.GeneralMethods);
                DashboardSettingsPage settings = new DashboardSettingsPage(test.Driver, test.GeneralMethods, test.SQL);

                home.openSettingsPage();
                int widgetsTotal        = settings.getWidgetsTotalOnPage();
                int turnedOnWidgetTotal = settings.getTurnedOnWidgetsTotalOnPage(widgetsTotal);

                for (int i = 1; i <= widgetsTotal; i++)
                {
                    if (settings.getWidgetName(i).Contains(activeAttributeGroup))
                    {
                        if (turnedOnWidgetTotal == 6)
                        {
                            settings.turnOffMultiWidgets(widgetsTotal, 1);
                        }
                        settings.turnOnWidget(i);

                        settings.checkWidgetItem(i, 1);
                        break;
                    }
                }

                settings.closeSettingsPage();
                home.selectView("year");

                DateTime[] dateRange    = test.Dashboard.getDateRange(now, "year");
                int        subTotalInDb = test.SQL.Dashboard_AttributeGroup_GetPeriodSum(churchId, userId, attributeGroupId, dateRange[0], dateRange[1]);

                for (int i = 1; i <= turnedOnWidgetTotal; i++)
                {
                    if (home.getWidgetName(i).Contains(activeAttributeGroup))
                    {
                        string bigNumber      = home.getWidgetBigNumber(i);
                        int    subTotalOnPage = int.Parse(bigNumber.Replace(",", ""));


                        //Verify only individual_1 will be counted
                        TestLog.WriteLine(string.Format("Page: {0}|Db: {1}", subTotalOnPage, subTotalInDb));
                        Assert.AreEqual(subTotalOnPage, subTotalInDb, string.Format("The big number of attribute group should equal to {0}", subTotalInDb));
                        break;
                    }
                }
            }
            finally
            {
                //clear test data
                test.SQL.Dashboard_Delete_IndividualAttribute(churchId, individual_1_id, attributeId_withStartDate);
                test.SQL.Dashboard_Delete_IndividualAttribute(churchId, individual_2_id, attributeId_withStartDate);
                test.SQL.Dashboard_Delete_IndividualAttribute(churchId, individual_3_id, attributeId_withoutStartDate);
                test.SQL.Dashboard_Delete_IndividualAttribute(churchId, individual_4_id, attributeId_withStartDate);
                test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, activeAttributeWithoutStartDate);
                test.SQL.Admin_IndividualAttributes_Delete(churchId, activeAttributeGroup, activeAttributeWithStartDate);
                test.SQL.Admin_IndividualAttributeGroups_Delete(churchId, activeAttributeGroup);
                test.SQL.People_Individual_Delete(churchId, "AutoTest", individual_1);
                test.SQL.People_Individual_Delete(churchId, "AutoTest", individual_2);
                test.SQL.People_Individual_Delete(churchId, "AutoTest", individual_3);
                test.SQL.People_Individual_Delete(churchId, "AutoTest", individual_4);
            }
        }
示例#5
0
        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);
            }
        }