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);
                }
            }
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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);
        }
Example #6
0
        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() }
            });
        }
Example #8
0
        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 }
            });
        }
Example #9
0
        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();
                }
            }
        }
Example #10
0
        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);
            }
        }
Example #11
0
        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();
                }
            }
        }
Example #12
0
        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));
        }
Example #13
0
        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);
        }
Example #14
0
 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);
        }
Example #16
0
 private static void AssertCommunityPersonalDetails(CommunityTestData communityTestData, AffiliationItems items)
 {
 }
Example #17
0
        protected ItcraLinkMemberStatus?GetStatus(AffiliationItems items)
        {
            var itcraLinkItems = items as ItcraLinkAffiliationItems;

            return(itcraLinkItems == null ? null : itcraLinkItems.Status);
        }