public async Task HandleChangeWithEmptyListTest() { // arrange IEmailService emailService = A.Fake <IEmailService>(); var flexKidsConfig = new EmailConfig(new MailAddress("[email protected]", "x"), new MailAddress("[email protected]", "x")); var sut = new EmailReportScheduleChange(flexKidsConfig, emailService, NullLogger.Instance); // act var result = await sut.HandleChange(null, null); // assert Assert.True(result); }
public void HandleChangeWithEmptyListTest() { // arrange var emailService = A.Fake <IEmailService>(); var flexKidsConfig = A.Fake <IFlexKidsConfig>(); var sut = new EmailReportScheduleChange(flexKidsConfig, emailService); // act var result = sut.HandleChange(null); // assert Assert.That(result, Is.True); }
public async Task HandleChangeWithThreeItemsInListTest() { // arrange IEmailService emailService = A.Fake <IEmailService>(); var flexKidsConfig = new EmailConfig( new MailAddress("*****@*****.**", "FlexKidsService"), new MailAddress("*****@*****.**", "you"), new MailAddress("*****@*****.**", "and you")); var sut = new EmailReportScheduleChange(flexKidsConfig, emailService, NullLogger.Instance); var updatedWeekSchedule = new WeekSchedule() { Year = 1234, WeekNumber = 3, Shifts = new List <SingleShift>(), }; var scheduleDiff = new List <ScheduleDiff>() { new ScheduleDiff { SingleShift = _singleShiftA, Status = ScheduleStatus.Added, }, new ScheduleDiff { SingleShift = _singleShiftB, Status = ScheduleStatus.Removed, }, new ScheduleDiff { SingleShift = _singleShiftC, Status = ScheduleStatus.Unchanged, }, }; // act var result = await sut.HandleChange(scheduleDiff, updatedWeekSchedule); // assert Assert.True(result); _ = A.CallTo(() => emailService.Send(A <System.Net.Mail.MailMessage> ._)).MustHaveHappenedOnceExactly(); }
public void HandleChangeWithThreeItemsInListTest() { // arrange var emailService = A.Fake <IEmailService>(); var flexKidsConfig = A.Fake <IFlexKidsConfig>(); A.CallTo(() => flexKidsConfig.EmailTo2).Returns("*****@*****.**"); A.CallTo(() => flexKidsConfig.EmailTo1).Returns("*****@*****.**"); A.CallTo(() => flexKidsConfig.EmailFrom).Returns("*****@*****.**"); var sut = new EmailReportScheduleChange(flexKidsConfig, emailService); var scheduleDiff = new List <ScheduleDiff>() { new ScheduleDiff { Schedule = ScheduleA, Status = ScheduleStatus.Added }, new ScheduleDiff { Schedule = ScheduleB, Status = ScheduleStatus.Removed }, new ScheduleDiff { Schedule = ScheduleC, Status = ScheduleStatus.Unchanged } }; // act var result = sut.HandleChange(scheduleDiff); // assert Assert.That(result, Is.True); A.CallTo(() => emailService.Send(A <System.Net.Mail.MailMessage> ._)).MustHaveHappened(Repeated.Exactly.Once); }