public void TestAttachment() { // Create an employer. var employer = CreateEmployer(); // Create a member. var member = CreateMember(); var candidate = _candidatesCommand.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); // Send the email. var view = _employerMemberViewsQuery.GetEmployerMemberView(employer, member); var templateEmail = new CandidateResumeEmail(employer, view); templateEmail.AddAttachments(new[] { GetResumeFile(view) }); _emailsCommand.TrySend(templateEmail); var email = _emailServer.AssertEmailSent(); email.AssertAttachment("Mentor Business Analyst Course, Melbourne VIC 3000.doc", "application/msword"); }
public void TestEmailContents() { // Create an employer. var employer = CreateEmployer(); // Create a member. var member = CreateMember(); var candidate = _candidatesCommand.GetCandidate(member.Id); _candidateResumesCommand.AddTestResume(candidate); // Send the email. var view = _employerMemberViewsQuery.GetEmployerMemberView(employer, member); var templateEmail = new CandidateResumeEmail(employer, view); _emailsCommand.TrySend(templateEmail); // Check. var email = _emailServer.AssertEmailSent(); email.AssertAddresses(Return, Return, employer); email.AssertSubject(GetSubject(view.FullName ?? "[Name hidden]")); email.AssertHtmlViewChecks(); email.AssertHtmlView(GetBody(templateEmail, employer, GetContent(templateEmail, member, candidate, employer))); AssertCompatibleAddresses(email); }
public ActionResult SendResumes(ResumeMimeType?mimeType, Guid[] candidateIds) { try { // Get the employer. var employer = CurrentEmployer; // Get the views to unlock the members. var professionalViews = _employerMemberViewsQuery.GetProfessionalViews(employer, candidateIds); _employerMemberViewsCommand.AccessMembers(ActivityContext.Channel.App, employer, professionalViews, MemberAccessReason.ResumeSent); // Get them again because unlocking will change what the employer can see. var views = _employerMemberViewsQuery.GetEmployerMemberViews(employer, candidateIds); EmployerEmail email; mimeType = GetMimeType(mimeType, candidateIds); switch (mimeType.Value) { case ResumeMimeType.Doc: email = new CandidateResumeEmail(employer, views[candidateIds[0]]); email.AddAttachments(new[] { GetResumeFile(views[candidateIds[0]]) }); break; default: email = new CandidateResumesEmail(employer, views); email.AddAttachments(new[] { GetResumeFile(views) }); break; } // Email it. _emailsCommand.TrySend(email); } catch (UserException ex) { ModelState.AddModelError(ex, new StandardErrorHandler()); } return(Json(new JsonResponseModel())); }