public void Create_WhenPassingRequestType_ReturnsRequestMail() { var holidayApplication = new HolidayApplication( _requester, _manager, _oneWeekHolidayStartingTomorrow); MailMessage requestMail = holidayApplication.Create(EmailContentType.Request); Assert.AreEqual(_requester.GetEmail(), requestMail.From); Assert.AreEqual(_manager.GetEmail(), requestMail.To); Assert.AreEqual("Holiday Request", requestMail.Subject, true); }
public void Create_WhenPassingRejectedType_ReturnsRejectedMail() { var holidayApplication = new HolidayApplication( _requester, _manager, _oneWeekHolidayStartingTomorrow); MailMessage requestMail = holidayApplication.Create(EmailContentType.Rejection); Assert.AreEqual(_manager.GetEmail(), requestMail.From); Assert.AreEqual(_requester.GetEmail(), requestMail.To); Assert.IsTrue(requestMail.Subject.StartsWith("[rejected]", StringComparison.InvariantCultureIgnoreCase)); }
public HolidayApplication Add(Guid holidayId, string userId, DateTime startDay, DateTime endDay, string reasons) { var holidayDb = this.holidayRepository.GetById(holidayId); var employeeDb = this.employeeRepository.GetByUserId(userId); var holidayApplicationToAdd = HolidayApplication.Create(holidayDb, employeeDb, startDay, endDay, reasons); return(this.holidayApplicationRepository.Add(holidayApplicationToAdd)); }
private static void Main(string[] args) { var requester = new Employee("James", "Darmody"); var manager = new Employee("Nucky", "Thompson"); var oneWeekHolidayStartingTomorrow = new HolidayInterval(DateTime.Now.AddDays(1), DateTime.Now.AddDays(8)); var holidayApplication = new HolidayApplication( requester, manager, oneWeekHolidayStartingTomorrow); var holidayRequest = new Holiday(new EmailNotifier()); holidayRequest.Request(holidayApplication); holidayRequest.Approve(holidayApplication); holidayRequest.Reject(holidayApplication); }
private static void Main(string[] args) { var requester = new Employee("James", "Darmody"); var manager = new Employee("Nucky", "Thompson"); var oneWeekHolidayStartingTomorrow = new HolidayInterval(DateTime.Now.AddDays(1), DateTime.Now.AddDays(8)); var holidayApplication = new HolidayApplication( requester, manager, oneWeekHolidayStartingTomorrow); EmailSender.Send(holidayApplication.Create(EmailContentType.Request), "requesterPassword"); EmailSender.Send(holidayApplication.Create(EmailContentType.Approval), "managerPassword"); EmailSender.Send(holidayApplication.Create(EmailContentType.Rejection), "managerPassword"); }
public void Create_WhenPassingApprovedType_ReturnsApprovedMail() { var holidayApplication = new HolidayApplication( _requester, _manager, _oneWeekHolidayStartingTomorrow); MailMessage requestMail = holidayApplication.Create(EmailContentType.Approval); Assert.AreEqual(_manager.GetEmail(), requestMail.From); Assert.AreEqual(_requester.GetEmail(), requestMail.CC.First()); Assert.IsTrue(requestMail.Subject.StartsWith("[approved]", StringComparison.InvariantCultureIgnoreCase)); string hrEmailUser = ConfigurationManager.AppSettings["hrMail"]; string hrEmailAddress = string.Format("{0}@{1}", hrEmailUser, ConfigurationManager.AppSettings["companyHost"]); var expectedHrMail = new MailAddress(hrEmailAddress, hrEmailUser); Assert.AreEqual(expectedHrMail, requestMail.To); }
public void Reject(HolidayApplication holidayApplication) { _notifier.Reject(holidayApplication); }
public void Approve(HolidayApplication holidayApplication) { _notifier.Approve(holidayApplication); }
public void Request(HolidayApplication holidayApplication) { var composer = new EmailComposer(holidayApplication); Email.Send(composer.CreateRequestMail()); }
public void Approve(HolidayApplication holidayApplication) { var composer = new EmailComposer(holidayApplication); Email.Send(composer.CreateApprovalMail()); }