Example #1
0
        public void OneTimeGiving_Processes_Payment()
        {
            username = RandomString();
            password = RandomString();
            var user = CreateUser(username, password);
            var org  = db.Organizations.First(o => o.RegistrationTypeId == RegistrationTypeCode.OnlineGiving);

            org.ShouldNotBeNull();
            var orgId = org.OrganizationId;

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OneTimeGiving, GatewayTypes.Transnational);
            Login();

            Open($"{rootUrl}Person2/{user.PeopleId}");
            WaitForPageLoad();
            Find(css: @"a[href=""#giving""]").Click();
            Wait(1);
            WaitForElementToDisappear(loadingUI);

            Find(text: "Make a One Time Gift").Click();
            Wait(3);
            SwitchToWindow(d => d.Title == "Online Registration");

            CurrentUrl.ShouldBe($"{rootUrl}OnlineReg/{orgId}");
        }
Example #2
0
        public void Should_Payment_Form_Contain_NoRecaptcha()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OnlineRegistration, GatewayTypes.Transnational);
            Login();

            OrgId = CreateOrgWithFee();

            SettingUtils.UpdateSetting("UseRecaptcha", "false");

            Open($"{rootUrl}OnlineReg/{OrgId}");

            Find(id: "otheredit").Click();
            WaitForElement("#submitit", 3);
            Find(id: "submitit").Click();

            Wait(4);

            var element = Find(css: ".noRecaptcha");

            element.ShouldNotBeNull();
        }
Example #3
0
        public void Should_Change_Payment_Methods()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OnlineRegistration, GatewayTypes.Transnational);
            Login();

            OrgId = CreateOrgWithFee();

            SettingUtils.UpdateSetting("UseRecaptcha", "false");

            PayRegistration(OrgId, true);

            var startNewTransaction = Find(xpath: "//a[contains(text(),'Start a New Transaction')]");

            startNewTransaction.ShouldNotBeNull();

            var paymentInfo = db.PaymentInfos.SingleOrDefault(x => x.PeopleId == user.PeopleId);

            if (paymentInfo != null)
            {
                paymentInfo.PreferredPaymentType.ShouldBe("B");
            }
        }
        public void Should_Find_Transacionts()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OnlineRegistration, GatewayTypes.Transnational);
            Login();

            OrgId = CreateOrgWithFee();

            SettingUtils.UpdateSetting("UseRecaptcha", "false");

            PayRegistration(OrgId, true);

            Open($"{rootUrl}Transactions/");

            var people = db.People.FirstOrDefault(p => p.PeopleId == user.PeopleId);

            Find(xpath: "//input[@id='name']").Clear();
            Find(xpath: "//input[@id='name']").SendKeys(people.FirstName);

            Find(xpath: "//form[@id='form']/div/div[2]/div[6]/div/div[2]/label").Click();
            Find(xpath: "//a[@id='filter']").Click();

            var element = Find(xpath: "//table[@id='resultsTable']/tbody/tr/td[7]");

            element.ShouldNotBeNull();
        }
Example #5
0
        public void Should_Show_Error_Message_For_Ask_Tickets()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OnlineRegistration, GatewayTypes.Transnational);
            Login();

            OrgId = CreateOrgWithFee();

            Open($"{rootUrl}Org/{OrgId}#tab-Registrations-tab");

            Find(xpath: "//li[@id='Questions-tab']/a").Click();
            Wait(2);
            Find(xpath: "(//a[contains(text(),'Edit')])[10]").Click();
            Wait(2);
            Find(xpath: "//a[contains(text(),'Add Question')]").Click();
            Wait(1);
            Find(xpath: "//a[@type='AskTickets']").Click();
            Wait(2);
            Find(xpath: "//a[contains(text(),'Done')]").Click();
            Wait(2);
            Find(xpath: "//button[contains(.,'Yes, Add Questions')]").Click();
            Wait(1);
            Find(xpath: "//a[@onclick='saveQuestion();']").Click();
            Wait(2);

            Open($"{rootUrl}OnlineReg/{OrgId}");

            Find(id: "List_0__ntickets").SendKeys("two");

            Find(id: "otheredit").Click();
            Wait(1);

            PageSource.ShouldContain("Please enter a positive numeric value");
        }
Example #6
0
        public void Should_RetrieveBatchDates_With_No_Date()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.OnlineRegistration, GatewayTypes.Acceptiva);
            Login();
            Wait(3);
            OrgId = CreateOrgWithFee();
            SettingUtils.UpdateSetting("UseRecaptcha", "false");
            SettingUtils.UpdateSetting("AutomaticSettle", "true");
            SettingUtils.UpdateSetting("AutoSyncBatchDates", "true");
            SettingUtils.UpdateSetting("AutoSyncBatchDatesWindow", "10");
            PayRegistration(OrgId);

            db.RetrieveBatchData(testing: true);
            var transaction = db.Transactions.FirstOrDefault(t => t.OrgId == OrgId);

            transaction.Settled.ShouldNotBeNull();
        }
Example #7
0
        public void Should_Update_Vault_When_Change_Address()
        {
            MaximizeWindow();

            username = RandomString();
            password = RandomString();
            string roleName = "role_" + RandomString();
            var    user     = CreateUser(username, password, roles: new string[] { "Access", "Edit", "Admin", "Developer" });

            FinanceTestUtils.CreateMockPaymentProcessor(db, PaymentProcessTypes.RecurringGiving, GatewayTypes.Transnational);
            Login();
            Wait(3);

            var recurringGivingOrg = (from o in db.Organizations
                                      where o.RegistrationTypeId == RegistrationTypeCode.ManageGiving
                                      select o.OrganizationId).FirstOrDefault();

            Open($"{rootUrl}OnlineReg/{recurringGivingOrg}");

            Find(id: "myAddFundLink").Click();

            var dropdown      = Find(css: "#special-funds-list");
            var selectElement = new SelectElement(dropdown);

            selectElement.SelectByText("General Operation");

            Find(xpath: "//input[@name='FundItem[0].Value']").Clear();
            Find(xpath: "//input[@name='FundItem[0].Value']").SendKeys("5");

            Find(id: "CreditCard").Clear();
            Find(id: "CreditCard").SendKeys("4111111111111111");

            Find(id: "Expires").Clear();
            Find(id: "Expires").SendKeys("0225");

            Find(id: "CVV").Clear();
            Find(id: "CVV").SendKeys("123");

            Find(id: "Middle").Clear();
            Find(id: "Middle").SendKeys("M");

            Find(id: "Suffix").Clear();
            Find(id: "Suffix").SendKeys("S");

            Find(id: "Address").Clear();
            Find(id: "Address").SendKeys("Addr");

            Find(id: "Address2").Clear();
            Find(id: "Address2").SendKeys("Addr2");

            Find(id: "City").Clear();
            Find(id: "City").SendKeys("City");

            Find(id: "State").Clear();
            Find(id: "State").SendKeys("TX");

            Find(id: "Zip").Clear();
            Find(id: "Zip").SendKeys("01000");

            Find(id: "Phone").Clear();
            Find(id: "Phone").SendKeys("1234567890");

            Find(id: "submitit").Click();
            Wait(5);

            Open($"{rootUrl}OnlineReg/{recurringGivingOrg}");

            Find(id: "Address").Clear();
            Find(id: "Address").SendKeys("AddrUpdated");

            Find(id: "submitit").Click();
            Wait(5);

            var log = db.ActivityLogs.OrderByDescending(l => l.ActivityDate).Where(l => l.OrgId == recurringGivingOrg).Skip(1).First();

            log.Activity.ShouldBe("OnlineReg ManageGiving Gateway Vault Updated");
        }