public void ShouldPassAskChurchQuestions(bool memberus, bool otherchurch, bool nochurch)
        {
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager);

            OrgId = FakeOrg.org.OrganizationId;

            var model = FakeOrganizationUtils.GetFakeOnlineRegModel(OrgId);

            model.List[0].memberus    = memberus;
            model.List[0].otherchurch = otherchurch;
            model.List[0].nochurch    = nochurch;
            model.List[0].paydeposit  = true;

            var resultSubmitQuestions      = controller.SubmitQuestions(0, model);
            var resultCompleteRegistration = controller.CompleteRegistration(model);

            Assert.NotNull(resultSubmitQuestions);
            Assert.NotNull(resultCompleteRegistration);
            FakeOrganizationUtils.DeleteOrg(OrgId);
        }
Esempio n. 2
0
        public void GetCouplesBothList_Should_Pull_Proper_HoHPeopleID()
        {
            /* Excel export should pull proper Head of Household PeopleID*/
            var requestManager  = FakeRequestManager.Create();
            var db              = requestManager.CurrentDatabase;
            var controller      = new OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var m       = OrganizationModel.Create(db, requestManager.CurrentUser);
            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager);
            var oid     = FakeOrg.org.OrganizationId;

            m.OrgId = oid;
            var wife = CreateUser(RandomString(), RandomString());

            //Create family and then Execute GetCouplesBothList to see if the right HeadOfHouseHoldId is retrieved...
            var p                = CreateFakeFamily(oid, m, controller);
            var mailingModel     = new MailingController(requestManager);
            var ExcelCouplesBoth = mailingModel.GetCouplesBothList(m.QueryId, 500);

            FakeOrganizationUtils.DeleteOrg(FakeOrg.org.OrganizationId);
            RemoveFakePeopleFromDB(ToPeople(ExcelCouplesBoth), db);
        }
Esempio n. 3
0
        public void Should_Use_MasterOrg_DOB_Phone_Settings()
        {
            int MasterOrgId     = 0;
            int ChildOrgId      = 0;
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            // Create Master Org
            var MasterOrgconfig = new Organization()
            {
                OrganizationName   = "MockMasterName",
                RegistrationTitle  = "MockMasterTitle",
                Location           = "MockLocation",
                RegistrationTypeId = 20,
                RegSetting         = XMLSettings(MasterOrgId)
            };

            var FakeMasterOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, MasterOrgconfig);

            MasterOrgId = FakeMasterOrg.org.OrganizationId;

            // Create Child Org
            var ChildOrgconfig = new Organization()
            {
                OrganizationName   = "MockMasterName",
                RegistrationTitle  = "MockMasterTitle",
                Location           = "MockLocation",
                RegistrationTypeId = 8,
                ParentOrgId        = MasterOrgId
            };

            var FakeChildOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, ChildOrgconfig);

            ChildOrgId = FakeChildOrg.org.OrganizationId;

            var MasterOnlineRegModel = FakeOrganizationUtils.GetFakeOnlineRegModel(ChildOrgId);
            var ChildOnlineRegModel  = FakeOrganizationUtils.GetFakeOnlineRegModel(MasterOrgId);

            var MasterOnlineRegPersonModel = MasterOnlineRegModel.LoadExistingPerson(ChildOnlineRegModel.UserPeopleId ?? 0, 0);
            var ChildOnlineRegPersonModel  = ChildOnlineRegModel.LoadExistingPerson(ChildOnlineRegModel.UserPeopleId ?? 0, 0);

            ChildOnlineRegPersonModel.ShowDOBOnFind().ShouldBe(true);
            ChildOnlineRegPersonModel.ShowPhoneOnFind().ShouldBe(true);

            FakeOrganizationUtils.DeleteOrg(MasterOrgId);
            FakeOrganizationUtils.DeleteOrg(ChildOrgId);
        }
Esempio n. 4
0
        public void Column_Number_Out_Of_Range_Should_Show_Error()
        {
            CMSDataContext db              = CMSDataContext.Create(DatabaseFixture.Host);
            var            requestManager  = FakeRequestManager.Create();
            var            controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var            routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new CmsData.Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization
            });

            OrgId = FakeOrg.org.OrganizationId;

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

            Login();
            Wait(3);

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

            Find(css: "#Questions-tab > .ajax").Click();
            WaitForElementToDisappear(loadingUI);

            Find(css: ".row:nth-child(1) > .col-sm-12 .edit").Click();
            WaitForElementToDisappear(loadingUI);

            Find(text: "Add Question").Click();
            Wait(2);
            Find(text: "Checkboxes").Click();
            Wait(2);
            Find(text: "Done").Click();
            Wait(2);
            Find(css: ".confirm").Click();
            Wait(2);

            Find(xpath: "//div[4]/div/div/input").SendKeys("5");
            Find(text: "Save").Click();
            Wait(2);

            PageSource.ShouldContain("The field Columns must be between 0 and 4.");
        }
Esempio n. 5
0
        public void ShouldProcessZeroLimitOrgsAsFilled()
        {
            var requestManager    = FakeRequestManager.Create();
            var orgRegLimitConfig = new Organization()
            {
                OrganizationName   = "MockMasterName",
                RegistrationTitle  = "MockMasterTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization,
                Limit = 0
            };
            var            fakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, orgRegLimitConfig);
            OnlineRegModel om      = FakeOrganizationUtils.GetFakeOnlineRegModel((int)fakeOrg.org.OrganizationId);

            om.Filled().ShouldBe("registration is full");
            FakeOrganizationUtils.DeleteOrg(fakeOrg.org.OrganizationId);
        }
Esempio n. 6
0
        public void ShouldDetectDuplicateGift()
        {
            var requestManager = FakeRequestManager.Create();
            var testOrg        = new Organization()
            {
                OrganizationName   = "MockMasterName",
                RegistrationTitle  = "MockMasterTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization,
                Limit = 0
            };
            var org = FakeOrganizationUtils.MakeFakeOrganization(requestManager, testOrg);

            using (var db = CMSDataContext.Create(DatabaseFixture.Host))
            {
                Transaction t = new Transaction()
                {
                    TransactionDate    = DateTime.Now,
                    First              = "Chester",
                    Last               = "Tester",
                    Amt                = 30,
                    Testing            = true,
                    TransactionGateway = "Sage",
                    OrgId              = org.org.OrganizationId
                };
                db.Transactions.InsertOnSubmit(t);
                db.SubmitChanges();
            }

            OnlineRegPersonModel person = new OnlineRegPersonModel(db)
            {
                FirstName = "Chester",
                LastName  = "Tester"
            };

            OnlineRegModel om = FakeOrganizationUtils.GetFakeOnlineRegModel(org.org.OrganizationId);

            om.List = new List <OnlineRegPersonModel>()
            {
                person
            };
            om.CheckDuplicateGift(30).ShouldNotBeNull();
            FakeOrganizationUtils.DeleteOrg(org.org.OrganizationId);
        }
        public void ShouldCalculateFirstSundayOfTheMonth(int year, int month, string result)
        {
            var requestManager     = FakeRequestManager.Create();
            var VolunteerOrgconfig = new Organization()
            {
                OrganizationName   = "MockMasterName",
                RegistrationTitle  = "MockMasterTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.ChooseVolunteerTimes,
            };

            var FakeOrg          = FakeOrganizationUtils.MakeFakeOrganization(requestManager, VolunteerOrgconfig);
            var m                = new VolunteerCommitmentsModel(FakeOrg.org.OrganizationId);
            var calculatedSunday = m.GetFirstSundayOfTheMonth(year, month);

            calculatedSunday.ToString("MM/dd/yyyy").ShouldBe(result);

            FakeOrganizationUtils.DeleteOrg(FakeOrg.org.OrganizationId);
        }
Esempio n. 8
0
        public void Should_SendAllConfirmations_ToStaff()
        {
            db = CMSDataContext.Create(DatabaseFixture.Host);
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new CmsData.Organization()
            {
                OrganizationName   = RandomString(),
                RegistrationTitle  = RandomString(),
                Location           = RandomString(),
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization,
                NotifyIds          = "1"
            });

            OrgId = FakeOrg.org.OrganizationId;

            username = RandomString();
            password = RandomString();
            var CurrentUser = CreateUser(username, password);

            EmailAddress = CurrentUser.EmailAddress;
            Login();

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

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

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

            WaitForElement("p:nth-child(3) > a", 5);

            var log = db.ActivityLogs.FirstOrDefault(p => p.OrgId == OrgId & p.Activity.Contains("SentConfirmationsToStaff"));

            log.ShouldNotBeNull();
        }
Esempio n. 9
0
        public void Should_Store_and_Populate_RegEmail()
        {
            db = CMSDataContext.Create(DatabaseFixture.Host);
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new CmsData.Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization
            });

            OrgId = FakeOrg.org.OrganizationId;

            username = RandomString();
            password = RandomString();
            var CurrentUser = CreateUser(username, password);

            EmailAddress = CurrentUser.EmailAddress;
            Login();

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

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

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

            WaitForElement("p:nth-child(3) > a", 5);

            var RegEmail = db.RecRegs.Where(x => x.PeopleId == CurrentUser.PeopleId).Select(x => x.Email).FirstOrDefault();

            RegEmail.ShouldBe(CurrentUser.EmailAddress);
        }
Esempio n. 10
0
        private void createOrgWithFee()
        {
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization
            });

            OrgId = FakeOrg.org.OrganizationId;
        }
Esempio n. 11
0
        private List <Person> CreateFakeFamily(int oid, OrganizationModel om, OnlineRegController orc)
        {
            var family = new List <Person>();

            var husband = CreateFamilyMember(GenderCode.Male, MaritalStatusCode.Married, PositionInFamily.PrimaryAdult);
            var orm     = FakeOrganizationUtils.GetFakeOnlineRegModel(oid, husband.UserId);
            var resultSubmitQuestions      = orc.SubmitQuestions(0, orm);
            var resultCompleteRegistration = orc.CompleteRegistration(orm);

            family.Add(husband.Person);

            var wife = CreateFamilyMember(GenderCode.Female, MaritalStatusCode.Married, PositionInFamily.PrimaryAdult, husband.Person.Family);

            orm = FakeOrganizationUtils.GetFakeOnlineRegModel(oid, wife.UserId);
            resultSubmitQuestions      = orc.SubmitQuestions(0, orm);
            resultCompleteRegistration = orc.CompleteRegistration(orm);
            family.Add(wife.Person);

            var child1 = CreateFamilyMember(GenderCode.Female, MaritalStatusCode.Single, PositionInFamily.Child, husband.Person.Family);

            orm = FakeOrganizationUtils.GetFakeOnlineRegModel(oid, child1.UserId);
            resultSubmitQuestions      = orc.SubmitQuestions(0, orm);
            resultCompleteRegistration = orc.CompleteRegistration(orm);
            family.Add(child1.Person);

            var child2 = CreateFamilyMember(GenderCode.Male, MaritalStatusCode.Single, PositionInFamily.Child, husband.Person.Family);

            orm = FakeOrganizationUtils.GetFakeOnlineRegModel(oid, child2.UserId);
            resultSubmitQuestions      = orc.SubmitQuestions(0, orm);
            resultCompleteRegistration = orc.CompleteRegistration(orm);
            family.Add(child2.Person);

            var secAdult = CreateFamilyMember(GenderCode.Male, MaritalStatusCode.Single, PositionInFamily.SecondaryAdult, husband.Person.Family);

            orm = FakeOrganizationUtils.GetFakeOnlineRegModel(oid, secAdult.UserId);
            resultSubmitQuestions      = orc.SubmitQuestions(0, orm);
            resultCompleteRegistration = orc.CompleteRegistration(orm);
            family.Add(secAdult.Person);

            return(family);
        }
Esempio n. 12
0
        public void Relaxed_Questions_Should_Not_Be_Visible()
        {
            CMSDataContext db              = CMSDataContext.Create(DatabaseFixture.Host);
            var            requestManager  = FakeRequestManager.Create();
            var            controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var            routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new CmsData.Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization
            });

            OrgId = FakeOrg.org.OrganizationId;

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

            Login();

            SettingUtils.UpdateSetting("RelaxedReqAdminOnly", "true");

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

            Find(css: "#Registration > form > div.row > div:nth-child(2) > div > a.btn.edit.ajax.btn-primary").Click();
            WaitForElementToDisappear(loadingUI);

            var inputDOB = Find(id: "ShowDOBOnFind");

            inputDOB.ShouldBeNull();
        }
Esempio n. 13
0
        protected int CreateOrgWithFee()
        {
            var requestManager  = FakeRequestManager.Create();
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, new Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = RegistrationTypeCode.JoinOrganization
            });

            var OrgId = FakeOrg.org.OrganizationId;

            Open($"{rootUrl}Org/{OrgId}#tab-Registrations-tab");
            WaitForElementToDisappear(loadingUI, maxWaitTimeInSeconds: 10);

            ScrollTo(css: "#Registration > form > h4:nth-child(3)");
            Find(css: "#Fees-tab > a").Click();
            WaitForElementToDisappear(loadingUI, maxWaitTimeInSeconds: 10);

            Find(css: "#Fees .row .edit").Click();
            WaitForElementToDisappear(loadingUI, maxWaitTimeInSeconds: 10);

            ScrollTo(id: "Fee");
            Find(id: "Fee").Clear();
            Find(id: "Fee").SendKeys(RandomNumber(1, 1000).ToString());
            Find(css: ".pull-right:nth-child(1) > .validate").Click();
            Wait(5);

            return(OrgId);
        }
Esempio n. 14
0
        public void Application_Export_Should_Pull_HoHPeopleID()
        {
            var requestManager  = FakeRequestManager.Create();
            var db              = requestManager.CurrentDatabase;
            var controller      = new OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var m       = OrganizationModel.Create(db, requestManager.CurrentUser);
            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager);
            var oid     = FakeOrg.org.OrganizationId;

            m.OrgId = oid;
            var wife = CreateUser(RandomString(), RandomString());

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

            Login();

            //Create family and then Execute GetCouplesBothList to see if the right HeadOfHouseHoldId is retrieved...
            var p                = CreateFakeFamily(oid, m, controller);
            var mailingModel     = new MailingController(requestManager);
            var ExcelCouplesBoth = mailingModel.GetCouplesBothList(m.QueryId, 500);

            //assert

            //Finalize
            FakeOrganizationUtils.DeleteOrg(FakeOrg.org.OrganizationId);
            RemoveFakePeopleFromDB(ToPeople(ExcelCouplesBoth), db);
            Logout();
        }
Esempio n. 15
0
        public void InvolvementList_Should_Have_FamilyId()
        {
            var requestManager  = FakeRequestManager.Create();
            var db              = requestManager.CurrentDatabase;
            var controller      = new CmsWeb.Areas.OnlineReg.Controllers.OnlineRegController(requestManager);
            var routeDataValues = new Dictionary <string, string> {
                { "controller", "OnlineReg" }
            };

            controller.ControllerContext = ControllerTestUtils.FakeControllerContext(controller, routeDataValues);

            var m       = OrganizationModel.Create(db, requestManager.CurrentUser);
            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager);
            var model   = FakeOrganizationUtils.GetFakeOnlineRegModel(FakeOrg.org.OrganizationId);

            m.OrgId = FakeOrg.org.OrganizationId;

            var resultSubmitQuestions      = controller.SubmitQuestions(0, model);
            var resultCompleteRegistration = controller.CompleteRegistration(model);

            var TestInvolvementList = ExportInvolvements.InvolvementList(m.QueryId);
            var pkg = typeof(EpplusResult).GetField("pkg", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(TestInvolvementList);

            using (ExcelPackage package = (ExcelPackage)pkg)
            {
                ExcelWorksheet worksheet = package.Workbook.Worksheets[1];

                object[,] cellValues = (object[, ])worksheet.Cells.Value;
                List <string> ReportColumns = cellValues.Cast <object>().ToList().ConvertAll(x => Convert.ToString(x));
                var           FamilyId      = worksheet.Cells[1, 2].Value.ToString().Trim();

                ReportColumns.ShouldContain("FamilyId");
                FamilyId.ShouldBe("FamilyId");
            }
            FakeOrganizationUtils.DeleteOrg(FakeOrg.org.OrganizationId);
        }
Esempio n. 16
0
 public override void Dispose()
 {
     FakeOrganizationUtils.DeleteOrg(OrgId);
 }
Esempio n. 17
0
 public override void Dispose()
 {
     SpecialContentUtils.DeleteSpecialContent(SepacialContentId);
     FakeOrganizationUtils.DeleteOrg(OrgId);
 }
Esempio n. 18
0
 public override void Dispose()
 {
     FakeOrganizationUtils.DeleteOrg(OrgId);
     db.ExecuteCommand("DELETE FROM [RecReg] WHERE [email] = '{0}'", EmailAddress);
 }
Esempio n. 19
0
        public void Application_Report_Should_Have_Awnsers()
        {
            driver.Manage().Window.Maximize();
            var requestManager = FakeRequestManager.Create();

            var Orgconfig = new Organization()
            {
                OrganizationName   = "MockName",
                RegistrationTitle  = "MockTitle",
                Location           = "MockLocation",
                RegistrationTypeId = 1
            };

            var FakeOrg = FakeOrganizationUtils.MakeFakeOrganization(requestManager, Orgconfig);

            OrgId = FakeOrg.org.OrganizationId;

            var NewSpecialContent = SpecialContentUtils.CreateSpecialContent(0, "MembershipApp2017", null);

            SepacialContentId = NewSpecialContent.Id;
            SpecialContentUtils.UpdateSpecialContent(NewSpecialContent.Id, "MembershipApp2017", "MembershipApp2017", GetValidHtmlContent(), false, null, "", null);

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

            Login();

            /*
             *  Using WaitForElement() doesn't work in this test
             *  WaitForElement() only makes the duration of loading spinner longer
             *  and causes a "reference not set to an instance of an object" error in the Find() functions below
             */

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

            ScrollTo(css: "#Questions-tab > .ajax");
            Find(css: "#Questions-tab > .ajax").Click();
            WaitForElementToDisappear(loadingUI);

            Find(css: ".col-sm-12 .edit").Click();
            WaitForElementToDisappear(loadingUI);

            Find(css: ".pull-right > .btn-success:nth-child(2)").Click();
            Wait(1);

            Find(css: ".AskText > a").Click();
            WaitForElement("#QuestionList > div.type-AskText");

            Find(css: ".modal-footer > .btn-primary:nth-child(1)").Click();
            var swal = ".sweet-alert.visible";

            WaitForElement(swal);

            Find(xpath: "//button[contains(.,'Yes, Add Questions')]").Click();
            WaitForElementToDisappear(".sweet-overlay");

            Find(css: "#QuestionList > div.type-AskText a.btn.btn-success").Click();
            WaitForElementToDisappear(loadingUI);

            var input = "div.ask-texts > div.well.movable > div.form-group > div.controls > input.form-control:nth-child(1)";

            WaitForElement(input);

            var InputAskItem = Find(css: input);

            InputAskItem.Clear();
            InputAskItem.SendKeys("Vow 1 reads: \"Do you acknowledge yourself to be a sinner in the sight of God, justly deserving his displeasure and without hope except through his sovereign mercy?\"");

            Find(css: ".ask-texts > .well").Click();
            WaitForElementToDisappear(loadingUI);

            ScrollTo(css: "#Questions-tab > .ajax");
            Find(xpath: "(//a[contains(text(),'Save')])[3]").Click();
            WaitForElementToDisappear(loadingUI);

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

            var InputField = Find(id: "List0.Text0_0");

            InputField.Clear();
            InputField.SendKeys("ThisTextMustAppearInTests");
            Find(id: "otheredit").Click();

            WaitForElement("#submitit", 5);
            Find(id: "submitit").Click();
            Wait(2);

            Open($"{rootUrl}Reports/Application/{OrgId}/{user.PeopleId}/MembershipApp2017");
            WaitForElement("h2", 5);

            PageSource.ShouldContain("ThisTextMustAppearInTests");
        }