public void StartPage(Event details)
        {
            if (details.StartPage.EventType.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventType.SelectWithText(details.StartPage.EventType.ToString());
            }

            if (details.StartPage.StartDate.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartDate_Type(details.StartPage.StartDate.Value);
            }

            if (details.StartPage.EndDate.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EndDate_Type(details.StartPage.EndDate.Value);
            }

            if (details.StartPage.StartTime.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartTime_Type(details.StartPage.StartTime.Value);
            }

            if (details.StartPage.EndTime.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EndTime_Type(details.StartPage.EndTime.Value);
            }

            if (details.StartPage.Location != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.LocationName.Type(details.StartPage.Location);
            }

            if (details.StartPage.Phone != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.LocationPhone.Type(details.StartPage.Phone);
            }

            if (details.StartPage.Country != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.Country_Select(details.StartPage.Country);
            }

            if (details.StartPage.Address1 != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.AddressLineOne.Type(details.StartPage.Address1);
            }

            if (details.StartPage.Address2 != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.AddressLineTwo.Type(details.StartPage.Address2);
            }

            if (details.StartPage.City != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.City.Type(details.StartPage.City);
            }

            if (details.StartPage.State != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.State.SelectWithText(details.StartPage.State);
            }

            if (details.StartPage.Zip != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.PostalCode.Type(details.StartPage.Zip);
            }

            if (details.StartPage.ContactInfo != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EditContactInfo_Click();
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.ContactInfo.SelectByName();
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.ContactInfo.HtmlMode_Click();
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.ContactInfo.Content_Type(details.StartPage.ContactInfo);
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.ContactInfo.SaveAndClose_Click();
            }

            if (details.StartPage.EventHome != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventHome.Type(details.StartPage.EventHome);
            }

            if (details.StartPage.EventLimit != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.LimitRegs_Set(true);
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegSpaces.Type(details.StartPage.EventLimit.Spaces);

                if (details.StartPage.EventLimit.EnableWaitList.HasValue)
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EnableWaitlist.Set(details.StartPage.EventLimit.EnableWaitList.Value);
                }
            }

            if (details.StartPage.RegTypes.Count != 0)
            {
                foreach (RegType regType in details.StartPage.RegTypes)
                {
                    KeywordProvider.AddRegType.Add_RegType(regType, details);
                    PageObject.Builder.RegistrationFormPages.RegTypeRow row = new PageObject.Builder.RegistrationFormPages.RegTypeRow(regType.Name);
                    regType.Id = row.RegTypeId;
                }
            }

            if (details.StartPage.Customize_RegType_DisplayOptions.IsCustomized)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.CustomizeRegTypeDisplayOptions_Set(true);
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDisplayFormat.SelectWithValue(CustomStringAttribute.GetCustomString(details.StartPage.Customize_RegType_DisplayOptions.DisplayOption));
            }

            // Set event name and shortcut after regType created to avoid bug 24560
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.Title.Type(details.Title);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.Shortcut.Type(details.Shortcut);

            // Set event fee
            if (details.StartPage.Event_Fee != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFee_Type(details.StartPage.Event_Fee.StandardPrice);

                if (details.StartPage.Event_Fee.Early_Price != null ||
                    details.StartPage.Event_Fee.Late_Price != null ||
                    (details.StartPage.Event_Fee.AllCustomCodes != null && details.StartPage.Event_Fee.AllCustomCodes.Count > 0))
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeAdvanced_Click();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.AdjustRADWindowPositionAndResize();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.SelectByName();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.Options_Expand();

                    if (details.StartPage.Event_Fee.Name != null)
                    {
                        PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.NameOnReceipt.Type(details.StartPage.Event_Fee.Name);
                        PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.NameOnReports.Type(details.StartPage.Event_Fee.Name);
                    }
                    else
                    {
                        PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.NameOnReceipt.Type(details.StartPage.Event_Fee.Name + "_" + RegType.Default.FeeName);
                        PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.NameOnReports.Type(details.StartPage.Event_Fee.Name + "_" + RegType.Default.FeeName);
                    }

                    if (details.StartPage.Event_Fee.AllCustomCodes.Count != 0)
                    {
                        foreach (DataCollection.CustomFieldCode code in details.StartPage.Event_Fee.AllCustomCodes)
                        {
                            KeywordProvider.AddDiscountCode.AddDiscountCodes(code, FormData.Location.EventFee);
                        }

                        PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.RequireCode.Set(details.StartPage.Event_Fee.RequireDC);
                    }

                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventFeeDefine.SaveAndClose_Click();
                }
            }

            if (details.StartPage.AllowGroupReg.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.AllGroupReg_Set(details.StartPage.AllowGroupReg.Value);
                PageObject.PageObjectProvider.Builder.EventDetails.SaveAndStay_Click();
            }

            if (details.StartPage.ForceSelectSameRegType.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.ForceSameGroupType.Set(details.StartPage.ForceSelectSameRegType.Value);
            }

            if (details.StartPage.AllowChangeRegType.HasValue)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.AllowChangeRegType.Set(details.StartPage.AllowChangeRegType.Value);
            }

            if (details.StartPage.AdvancedSettings != null)
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.AdvancedSettings_Click();
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventAdvancedSettings.SelectByName();

                if (details.StartPage.AdvancedSettings.ThisIsAParentEvent.HasValue)
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventAdvancedSettings.ThisIsAParentEvent.Set(details.StartPage.AdvancedSettings.ThisIsAParentEvent.Value);
                }

                if (details.StartPage.AdvancedSettings.ThisIsAChildEvent.HasValue)
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventAdvancedSettings.ThisIsAChildEvent.Set(details.StartPage.AdvancedSettings.ThisIsAChildEvent.Value);
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventAdvancedSettings.SelectParentEvent(details);
                }

                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EventAdvancedSettings.SaveAndClose_Click();
            }

            if ((details.StartPage.PageHeader != null) || (details.StartPage.PageFooter != null))
            {
                PageObject.PageObjectProvider.Builder.EventDetails.FormPages.GotoPage(FormData.Page.Start);

                if (details.StartPage.PageHeader != null)
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageHeader_Click();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageHeaderEditor.SelectByName();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageHeaderEditor.HtmlMode_Click();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageHeaderEditor.Content_Type(details.StartPage.PageHeader);
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageHeaderEditor.SaveAndClose_Click();
                }

                if (details.StartPage.PageFooter != null)
                {
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageFooter_Click();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageFooterEditor.SelectByName();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageFooterEditor.HtmlMode_Click();
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageFooterEditor.Content_Type(details.StartPage.PageFooter);
                    PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.StartPageFooterEditor.SaveAndClose_Click();
                }
            }
        }
예제 #2
0
        public void SetupSSO()
        {
            string attri2 = "disabled";
            string wrongFormatURL1 = "http://www.xx.com";
            string wrongFormatURL2 = "www.xx.com";

            RegType regType1 = new RegType("SSORegType");
            regType1.IsSSO = true;
            RegType regType2 = new RegType("NoneSSORegType");
            regType2.IsSSO = true;
            Event evt = new Event("SetupSSO");

            KeywordProvider.SignIn.SignIn(EventFolders.Folders.SSO);

            if (KeywordProvider.ManagerDefault.DoesEventExist(evt.Title))
            {
                KeywordProvider.ManagerDefault.DeleteEvent(evt.Title);
            }

            KeywordProvider.EventCreator.ClickAddEventAndGetEventId(evt);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.EmptyAddRegType_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SelectByName();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.NameOnForm.Type(regType1.Name);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.NameOnReports.Type(regType1.Name);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthentication_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SelectByName();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SSORadio.Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.EndpointURL.Type(wrongFormatURL1);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.LoginURL.Type(SSOData.SSOLoginURL);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SaveAndClose_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.ErrorMessage(Messages.BuilderError.ServiceEndPointFormatError).IsPresent);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.EndpointURL.Type(wrongFormatURL2);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SaveAndClose_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.ErrorMessage(Messages.BuilderError.ServiceEndPointFormatError).IsPresent);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.EndpointURL.Type(SSOData.SSOEndpointURL);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.SaveAndClose_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SelectByName();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.EnableExternalAuthentication.Set(true);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SaveAndClose_Click();
            PageObject.Builder.RegistrationFormPages.RegTypeRow row1 = new PageObject.Builder.RegistrationFormPages.RegTypeRow(regType1.Name);
            KeywordProvider.AddRegType.Add_RegType(regType2, evt);
            PageObject.Builder.RegistrationFormPages.RegTypeRow row2 = new PageObject.Builder.RegistrationFormPages.RegTypeRow(regType2.Name);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.Title.Type(evt.Title);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.Shortcut.Type(evt.Shortcut);
            PageObject.PageObjectProvider.Builder.EventDetails.SaveAndClose_Click();
            KeywordProvider.ManagerDefault.OpenFormDashboard(evt.Title);
            PageObject.PageObjectProvider.Manager.Dashboard.EventDetails.ThirdParty_Click();
            PageObject.PageObjectProvider.Manager.Dashboard.EventDetails.ThirdPartyIntegrations.SelectByName();
            PageObject.PageObjectProvider.Manager.Dashboard.EventDetails.ThirdPartyIntegrations.ExternalAuthentication_Click();
            Assert.True(PageObject.PageObjectProvider.Manager.SSOBase.SSORadio.IsChecked);
            Assert.AreEqual(PageObject.PageObjectProvider.Manager.SSOBase.EndpointURL.Value, SSOData.SSOEndpointURL);
            Assert.AreEqual(PageObject.PageObjectProvider.Manager.SSOBase.LoginURL.Value, SSOData.SSOLoginURL);
            Assert.True(PageObject.PageObjectProvider.Manager.SSOBase.RegTypeEnabled(regType1).IsChecked);
            Assert.True(PageObject.PageObjectProvider.Manager.SSOBase.RegTypeEnabled(regType2).IsChecked);
            PageObject.PageObjectProvider.Manager.SSOBase.EndpointURL.Type(wrongFormatURL1);
            PageObject.PageObjectProvider.Manager.SSOBase.SaveAndClose_Click();
            PageObject.PageObjectProvider.Manager.SSOBase.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.ErrorMessage(Messages.BuilderError.ServiceEndPointFormatError).IsPresent);
            PageObject.PageObjectProvider.Manager.SSOBase.EndpointURL.Type(wrongFormatURL2);
            PageObject.PageObjectProvider.Manager.SSOBase.SaveAndClose_Click();
            PageObject.PageObjectProvider.Manager.SSOBase.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.ExternalAuthenticationSetup.ErrorMessage(Messages.BuilderError.ServiceEndPointFormatError).IsPresent);
            PageObject.PageObjectProvider.Manager.SSOBase.EndpointURL.Type(SSOData.SSOEndpointURL);
            PageObject.PageObjectProvider.Manager.SSOBase.RegTypeEnabled(regType2).Set(false);
            regType2.IsSSO = false;
            PageObject.PageObjectProvider.Manager.SSOBase.SaveAndClose_Click();
            PageObject.PageObjectProvider.Manager.Dashboard.EventDetails.EditForm_Click();
            row2.Title_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SelectByName();
            Assert.False(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.EnableExternalAuthentication.IsChecked);
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.Cancel_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.SaveAndClose_Click();
            PageObject.PageObjectProvider.Manager.Dashboard.ReturnToList_Click();

            Registrant reg1 = new Registrant(evt, SSOData.SSOTestEmail);
            reg1.Password = SSOData.SSOPassword;
            reg1.EventFee_Response = new EventFeeResponse(regType1);
            Registrant reg2 = new Registrant(evt);
            reg2.EventFee_Response = new EventFeeResponse(regType2);

            KeywordProvider.RegistrationCreation.CreateRegistration(reg1);
            KeywordProvider.RegistrationCreation.CreateRegistration(reg2);

            KeywordProvider.SignIn.SignIn(EventFolders.Folders.SSO);
            KeywordProvider.ManagerDefault.OpenFormDashboard(evt.Title);
            PageObject.PageObjectProvider.Manager.Dashboard.EventDetails.EditForm_Click();
            row1.Title_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.EnableExternalAuthentication.HasAttribute(attri2));
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.Cancel_Click();
            row2.Title_Click();
            PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.SelectByName();
            Assert.True(PageObject.PageObjectProvider.Builder.EventDetails.FormPages.StartPage.RegTypeDefine.EnableExternalAuthentication.HasAttribute(attri2));
        }