示例#1
0
        public void Dashboard_Giving_NewGiving_Of_ContributionFund()
        {
            TestBaseWebDriver test    = base.TestContainer[Gallio.Framework.TestContext.CurrentContext.Test.Name];
            GeneralMethods    utility = test.GeneralMethods;

            //Test data parameters
            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   fund_name_1 = utility.GetUniqueName("fund");
            string   card_number = "4111111111111111";
            string   card_type   = "Visa";

            try
            {
                test.SQL.Giving_Funds_Create(churchId, fund_name_1, true, null, 1, true, "Auto Testing");

                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();
                settings.turnOnWidget(1);
                settings.closeSettingsPage();
                home.selectView("year");

                //string bigNumber = home.getWidgetBigNumber(1);
                //double subTotalOnPage = double.Parse(bigNumber.Replace("$", "").Replace(",", ""));

                //Do an online giving
                test.Infellowship.LoginWebDriver("*****@*****.**", "FT4life!");
                test.Infellowship.Giving_GiveNow_CreditCard_WithoutValidation_WebDriver(fund_name_1, "10000", card_type, card_number, 12, (DateTime.Now.Year + 5).ToString());
                test.Infellowship.LogoutWebDriver();

                test.Dashboard.OpenLoginWebDriver();
                home.openSettingsPage();
                settings.checkSubItemByName(1, fund_name_1);
                settings.closeSettingsPage();

                home.selectView("year");

                string bigNumberNew = home.getWidgetBigNumber(1);
                //double subTotalOnPageNew = double.Parse(bigNumberNew.Replace("$", "").Replace(",", ""));

                DateTime[] dateRange    = test.Dashboard.getDateRange(now, "year");
                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}|{2}", subTotalOnPage, subTotalInDb, subTotalOnPageNew));
                //Assert.IsTrue(subTotalInDb>=subTotalOnPage + 10000);
                //Assert.AreEqual(subTotalInDb, subTotalOnPageNew);
                Assert.AreEqual(bigNumberNew, test.Dashboard.getBigNumberStringGreaterThanMillion(subTotalInDb));
            }
            finally
            {
                //clear test data
                test.SQL.Giving_Funds_Delete(churchId, fund_name_1);
            }
        }