Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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();
        }
Пример #4
0
        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);
        }