private static void AssertItems(AffiliationItems expected, AffiliationItems actual) { if (expected == null) { Assert.IsNull(actual); } else { Assert.IsInstanceOfType(actual, expected.GetType()); if (expected is FinsiaAffiliationItems) { Assert.AreEqual(((FinsiaAffiliationItems)expected).MemberId, ((FinsiaAffiliationItems)actual).MemberId); } else if (expected is AimeAffiliationItems) { Assert.AreEqual(((AimeAffiliationItems)expected).Status, ((AimeAffiliationItems)actual).Status); } else if (expected is ItcraLinkAffiliationItems) { Assert.AreEqual(((ItcraLinkAffiliationItems)expected).MemberId, ((ItcraLinkAffiliationItems)actual).MemberId); Assert.AreEqual(((ItcraLinkAffiliationItems)expected).Status, ((ItcraLinkAffiliationItems)actual).Status); } } }
private void FillPersonalDetails(CommunityTestData communityTestData, AffiliationItems personalDetailsItems) { AssertPageContains("ITCRA Status"); Assert.IsTrue(_certifiedRadioButton.IsVisible); Assert.IsTrue(_professionalRadioButton.IsVisible); Assert.IsTrue(_memberIdTextBox.IsVisible); var items = personalDetailsItems as ItcraLinkAffiliationItems; if (items != null) { if (items.Status != null) { if (items.Status.Value == ItcraLinkMemberStatus.Certified) { _certifiedRadioButton.IsChecked = true; } else { _professionalRadioButton.IsChecked = true; } } _memberIdTextBox.Text = items.MemberId; } }
protected string GetMemberId(AffiliationItems items) { var itcraLinkItems = items as ItcraLinkAffiliationItems; return(itcraLinkItems == null || string.IsNullOrEmpty(itcraLinkItems.MemberId) ? null : itcraLinkItems.MemberId); }
protected string GetMemberId(AffiliationItems items) { var finsiaItems = items as FinsiaAffiliationItems; return(finsiaItems == null || string.IsNullOrEmpty(finsiaItems.MemberId) ? null : finsiaItems.MemberId); }
protected bool GetIsMember(AffiliationItems items) { var finsiaItems = items as FinsiaAffiliationItems; return(finsiaItems == null || string.IsNullOrEmpty(finsiaItems.MemberId) ? false : true); }
private void FillPersonalDetails(CommunityTestData data, AffiliationItems personalDetailsItems) { Assert.IsTrue(_memberIdTextBox.IsVisible); var items = personalDetailsItems as FinsiaAffiliationItems; if (items != null) { _memberIdTextBox.Text = items.MemberId; } }
IDictionary <string, string> IAffiliationsProvider.ConvertAffiliationItems(AffiliationItems items) { if (items == null || !(items is AimeAffiliationItems)) { return(null); } var status = ((AimeAffiliationItems)items).Status; return(status == null ? null : new Dictionary <string, string> { { StatusName, status.ToString() } }); }
IDictionary <string, string> IAffiliationsProvider.ConvertAffiliationItems(AffiliationItems items) { if (items == null || !(items is FinsiaAffiliationItems)) { return(null); } var memberId = ((FinsiaAffiliationItems)items).MemberId; return(string.IsNullOrEmpty(memberId) ? null : new Dictionary <string, string> { { MemberIdName, memberId } }); }
private void FillPersonalDetails(CommunityTestData communityTestData, AffiliationItems personalDetailsItems) { AssertPageContains("AIME Status"); Assert.IsTrue(_aimeMemberStatusDropDownList.IsVisible); var aimeAffiliationItems = personalDetailsItems as AimeAffiliationItems; if (aimeAffiliationItems != null) { var status = aimeAffiliationItems.Status; if (status != null) { _aimeMemberStatusDropDownList.SelectedValue = status.ToString(); } } }
private void AssertPersonalDetails(CommunityTestData data, AffiliationItems personalDetailsItems) { // Check the saved data. var member = _membersQuery.GetMember(MemberEmailAddress); var items = _memberAffiliationsQuery.GetItems(member.Id, data.Id.Value) as FinsiaAffiliationItems; if (personalDetailsItems == null) { Assert.IsNull(items); } else { Assert.IsNotNull(items); Assert.IsInstanceOfType(personalDetailsItems, typeof(FinsiaAffiliationItems)); Assert.AreEqual(((FinsiaAffiliationItems)personalDetailsItems).MemberId, items.MemberId); } }
void IMembersRepository.SetAffiliationItems(Guid memberId, Guid affiliateId, AffiliationItems items) { using (var dc = CreateContext()) { // Delete all previous data. var existingDataEntities = GetDataEntities(dc, memberId, affiliateId); dc.CommunityMemberDataEntities.DeleteAllOnSubmit(existingDataEntities); // Add the new ones in. var convertedItems = _affiliationItemsFactory.ConvertAffiliationItems(affiliateId, items); if (convertedItems != null) { dc.CommunityMemberDataEntities.InsertAllOnSubmit(_affiliationItemsFactory.ConvertAffiliationItems(affiliateId, items).Map(memberId, affiliateId)); dc.SubmitChanges(); } } }
IDictionary <string, string> IAffiliationItemsFactory.ConvertAffiliationItems(Guid affiliateId, AffiliationItems items) { if (items == null) { return(null); } IAffiliationsProvider provider; return(!_providers.TryGetValue(affiliateId, out provider) ? null : provider.ConvertAffiliationItems(items)); }
protected void TestMemberJoin(Func <Community, CommunityTestData, ReadOnlyUrl> join, bool isHomePageJoin, Action <CommunityTestData, AffiliationItems> fillCommunityPersonalDetails, Action <CommunityTestData, AffiliationItems> assertCommunityPersonalDetails, AffiliationItems personalDetailsItems) { // Set up the community. var data = GetTestCommunity().GetCommunityTestData(); var isDeleted = IsTestCommunityDeleted; var community = CreateTestCommunity(data, isDeleted); // Join on the first page. var url = join(community, data); if (url == null) { return; } // Fill in employment details. var personalDetailsUrl = _personalDetailsUrl.AsNonReadOnly(); if (!isDeleted) { personalDetailsUrl.Host = url.Host; } AssertUrlWithoutQuery(personalDetailsUrl); AssertHeader(!isDeleted ? data.HeaderSnippet : null); fillCommunityPersonalDetails(data, personalDetailsItems); if (!isHomePageJoin) { _firstNameTextBox.Text = FirstName; _lastNameTextBox.Text = LastName; _emailAddressTextBox.Text = MemberEmailAddress; _passwordTextBox.Text = Password; _confirmPasswordTextBox.Text = Password; _acceptTermsCheckBox.IsChecked = true; } _locationTextBox.Text = Location; _phoneNumberTextBox.Text = PhoneNumber; _salaryLowerBoundTextBox.Text = Salary; _openToOffersRadioButton.IsChecked = true; Browser.Submit(_personalDetailsFormId); // Add networker details. var jobDetailsUrl = _jobDetailsUrl.AsNonReadOnly(); if (!isDeleted) { jobDetailsUrl.Host = url.Host; } AssertUrlWithoutQuery(jobDetailsUrl); AssertHeader(!isDeleted ? data.HeaderSnippet : null); // Logout. LogOut(); // Ensure that the activation email was sent. var email = _emailServer.AssertEmailSent(); var returnAddress = string.IsNullOrEmpty(data.MemberServicesEmailAddress) ? Return : new EmailRecipient(data.ReturnEmailAddress, data.EmailDisplayName); email.AssertAddresses(returnAddress, returnAddress, new EmailRecipient(MemberEmailAddress, FirstName + " " + LastName)); if (!isDeleted) { email.AssertHtmlViewContains(data.ActivationEmailSnippet); } else { email.AssertHtmlViewDoesNotContain(data.ActivationEmailSnippet); } // Get the activation code from the email. var activationUrl = GetActivationUrl(email.GetHtmlView().Body); // Make sure the host used in the email is that same as which the user was interacting with. if (!isDeleted) { Assert.AreEqual(url.Host, activationUrl.Host); } // Make sure this is like a new session. ClearCookies(activationUrl); // Navigate to the activation page which should activate the account. Get(activationUrl); AssertUrlWithoutQuery(GetHostUrl(_activationUrl, data.Host, isDeleted)); AssertHeader(!isDeleted ? data.HeaderSnippet : null); // Make sure the host after following the link is the same. if (!isDeleted) { Assert.AreEqual(url.Host, Browser.CurrentUrl.Host); } // Try to log in again and assert that the home page is reached. var member = _membersQuery.GetMember(MemberEmailAddress); LogIn(member, Password); AssertHeader(!isDeleted ? data.HeaderSnippet : null); // Check the user. AssertMember(MemberEmailAddress, community, isDeleted); // Use the standard host and follow the link. This should still get to the community site. LogOut(); ClearCookies(activationUrl); activationUrl.Host = new ApplicationUrl("~/").Host; ClearCookies(activationUrl); Get(activationUrl); AssertUrlWithoutQuery(GetHostUrl(_activationUrl, data.Host, isDeleted)); AssertHeader(!isDeleted ? data.HeaderSnippet : null); if (!isDeleted) { Assert.AreEqual(url.Host, Browser.CurrentUrl.Host); } assertCommunityPersonalDetails(data, personalDetailsItems); }
void IMemberAffiliationsCommand.SetItems(Guid memberId, Guid affiliateId, AffiliationItems items) { items.Prepare(); items.Validate(); _repository.SetAffiliationItems(memberId, affiliateId, items); }
protected AimeMemberStatus?GetStatus(AffiliationItems items) { var aimeItems = items as AimeAffiliationItems; return(aimeItems == null ? null : aimeItems.Status); }
private static void AssertCommunityPersonalDetails(CommunityTestData communityTestData, AffiliationItems items) { }
protected ItcraLinkMemberStatus?GetStatus(AffiliationItems items) { var itcraLinkItems = items as ItcraLinkAffiliationItems; return(itcraLinkItems == null ? null : itcraLinkItems.Status); }