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); }
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); }
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); }
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."); }
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); }
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); }
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(); }
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); }
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; }
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); }
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(); }
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); }
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(); }
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); }
public override void Dispose() { FakeOrganizationUtils.DeleteOrg(OrgId); }
public override void Dispose() { SpecialContentUtils.DeleteSpecialContent(SepacialContentId); FakeOrganizationUtils.DeleteOrg(OrgId); }
public override void Dispose() { FakeOrganizationUtils.DeleteOrg(OrgId); db.ExecuteCommand("DELETE FROM [RecReg] WHERE [email] = '{0}'", EmailAddress); }
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"); }