示例#1
0
        public void TestResumeCount()
        {
            // Create users.

            CreateMember(1, true);
            var member2 = CreateMember(2, true);
            var member3 = CreateMember(3, true);

            CreateMember(4, false);

            // Send.

            _emailsCommand.TrySend(new StatsEmail(_dailyReportsQuery.GetDailyReport(DayRange.Yesterday)));

            // Check.

            var email = _emailServer.AssertEmailSent();

            email.AssertHtmlViewContains("<td style=\"text-align:right;\">New resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Uploaded resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Reloaded resumes:</td>\r\n            <td style=\"text-align:left;\">0</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Edited resumes:</td>\r\n            <td style=\"text-align:left;\">0</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Updated resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");

            // Delete the UploadResume event for member2, but add an EditResume event.

            var events = _resumeReportsQuery.GetResumeEvents(member2.Id);

            _resumeReportsCommand.DeleteResumeEvent(events[0].Id);

            var candidate = _candidatesCommand.GetCandidate(member2.Id);

            _resumeReportsCommand.CreateResumeEvent(new ResumeEditEvent {
                CandidateId = member2.Id, ResumeId = candidate.ResumeId.Value, ResumeCreated = true, Time = events[0].Time
            });
            _emailsCommand.TrySend(new StatsEmail(_dailyReportsQuery.GetDailyReport(DayRange.Yesterday)));
            email = _emailServer.AssertEmailSent();
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">New resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Uploaded resumes:</td>\r\n            <td style=\"text-align:left;\">2</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Reloaded resumes:</td>\r\n            <td style=\"text-align:left;\">0</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Edited resumes:</td>\r\n            <td style=\"text-align:left;\">1</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Updated resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");

            // Delete the UploadResume event for member2, but add an ReloadResume event.

            events = _resumeReportsQuery.GetResumeEvents(member3.Id);

            candidate = _candidatesCommand.GetCandidate(member2.Id);
            _resumeReportsCommand.CreateResumeEvent(new ResumeReloadEvent {
                CandidateId = member3.Id, ResumeId = candidate.ResumeId.Value, Time = events[0].Time
            });
            _emailsCommand.TrySend(new StatsEmail(_dailyReportsQuery.GetDailyReport(DayRange.Yesterday)));
            email = _emailServer.AssertEmailSent();
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">New resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Uploaded resumes:</td>\r\n            <td style=\"text-align:left;\">2</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Reloaded resumes:</td>\r\n            <td style=\"text-align:left;\">1</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Edited resumes:</td>\r\n            <td style=\"text-align:left;\">1</td>");
            email.AssertHtmlViewContains("<td style=\"text-align:right;\">Updated resumes:</td>\r\n            <td style=\"text-align:left;\">3</td>");
        }
示例#2
0
        private void AssertEvents(Guid candidateId, Guid resumeId, params ResumeEvent[] expectedEvents)
        {
            var events = _resumeReportsQuery.GetResumeEvents(candidateId);

            Assert.AreEqual(expectedEvents.Length, events.Count);

            for (var index = 0; index < expectedEvents.Length; ++index)
            {
                Assert.AreEqual(candidateId, events[index].CandidateId);
                Assert.AreEqual(resumeId, events[index].ResumeId);
                Assert.IsInstanceOfType(events[index], expectedEvents[index].GetType());

                var resumeEditEvent = expectedEvents[index] as ResumeEditEvent;
                if (resumeEditEvent != null)
                {
                    Assert.AreEqual(resumeEditEvent.ResumeCreated, ((ResumeEditEvent)events[index]).ResumeCreated);
                }
            }
        }