public void TestEmailContents() { // Create the invitation. var inviter = _memberAccountsCommand.CreateTestMember(0); inviter.VisibilitySettings.Personal.FirstDegreeVisibility = PersonalVisibility.None; _memberAccountsCommand.UpdateMember(inviter); var invitee = _memberAccountsCommand.CreateTestMember(1); var invitation = new RepresentativeInvitation { InviterId = inviter.Id, InviteeId = invitee.Id, Text = MessageText }; _representativeInvitationsCommand.CreateInvitation(invitation); var templateEmail = new RepresentativeInvitationEmail(invitee, inviter, invitation, null); _emailsCommand.TrySend(templateEmail); // Check. The email should have been sent as part of the invitation creation. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(inviter, Return, invitee); email.AssertSubject(GetSubject()); email.AssertHtmlViewChecks(); AssertHtmlView(email, templateEmail, inviter, invitee, invitation, null); email.AssertNoAttachments(); AssertCompatibleAddresses(email); }
private void OnRepresentativeInvitationSent(ICommunicationUser inviter, RepresentativeInvitation invitation) { // Currently can only send to other members. if (invitation.InviteeId != null) { // Existing member. var to = _membersQuery.GetMember(invitation.InviteeId.Value); if (to != null) { var activation = GetEmailVerification(to, invitation); var email = new RepresentativeInvitationEmail(to, inviter, invitation, activation); _emailsCommand.TrySend(email); } } }