public async void SendToTheAdminEmail() { const int taskId = 29; const int eventId = 15; var taskDetail = GetTaskDetailForNotificationModel(taskId, eventId); var expectedEmail = taskDetail.CampaignContacts.First().Contact.Email; var mediator = new Mock <IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny <TaskDetailForNotificationQuery>())) .ReturnsAsync(taskDetail); // Setup action call mediator.Setup(x => x.SendAsync(It.Is <NotifyVolunteersCommand>(n => n.ViewModel.EmailRecipients.Contains(expectedEmail)))) .ReturnsAsync(new Unit()); var logger = Mock.Of <ILogger <NotifyAdminForUserUnenrolls> >(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); mediator.VerifyAll(); }
public async void PassAnEmailSubjectToTheMediator() { const int taskId = 29; const int eventId = 15; var mediator = new Mock<IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny<TaskDetailForNotificationQuery>())) .ReturnsAsync(GetTaskDetailForNotificationModel(taskId, eventId)); // Setup action call mediator.Setup(x => x.SendAsync(It.Is<NotifyVolunteersCommand>(n => !string.IsNullOrWhiteSpace(n.ViewModel.Subject)))) .ReturnsAsync(new Unit()); var logger = Mock.Of<ILogger<NotifyAdminForUserUnenrolls>>(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); mediator.VerifyAll(); }
public async void PassAnEmailSubjectToTheMediator() { const int taskId = 29; const int eventId = 15; var mediator = new Mock <IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny <TaskDetailForNotificationQuery>())) .ReturnsAsync(GetTaskDetailForNotificationModel(taskId, eventId)); // Setup action call mediator.Setup(x => x.SendAsync(It.Is <NotifyVolunteersCommand>(n => !string.IsNullOrWhiteSpace(n.ViewModel.Subject)))) .ReturnsAsync(new Unit()); var logger = Mock.Of <ILogger <NotifyAdminForUserUnenrolls> >(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); mediator.VerifyAll(); }
public async void LogTheExceptionIfAnExceptionOccurs() { const int taskId = 29; const int eventId = 15; var mediator = new Mock <IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny <TaskDetailForNotificationQuery>())) .ReturnsAsync(GetTaskDetailForNotificationModel(taskId, eventId)); // Setup exception mediator.Setup(x => x.SendAsync(It.IsAny <NotifyVolunteersCommand>())) .Throws(new InvalidOperationException("Test Exception")); // Setup expected logging var logger = new Mock <ILogger <NotifyAdminForUserUnenrolls> >(); logger.Setup(x => x.Log(It.IsAny <LogLevel>(), It.IsAny <EventId>(), It.IsAny <object>(), It.IsAny <NullReferenceException>(), It.IsAny <Func <object, Exception, string> >())); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger.Object); await target.Handle(notification); logger.VerifyAll(); }
public async void SkipNotificationIfAdminEmailIsNotSpecified() { const int taskId = 29; const int eventId = 15; var eventDetails = GetTaskDetailForNotificationModel(taskId, eventId, string.Empty); var mediator = new Mock <IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny <TaskDetailForNotificationQuery>())) .ReturnsAsync(eventDetails); var logger = Mock.Of <ILogger <NotifyAdminForUserUnenrolls> >(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); // Verify the action call never occurs mediator.Verify(x => x.SendAsync(It.IsAny <NotifyVolunteersCommand>()), Times.Never); }
public async void SendToTheAdminEmail() { const int taskId = 29; const int eventId = 15; var taskDetail = GetTaskDetailForNotificationModel(taskId, eventId); var expectedEmail = taskDetail.CampaignContacts.First().Contact.Email; var mediator = new Mock<IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny<TaskDetailForNotificationQuery>())) .ReturnsAsync(taskDetail); // Setup action call mediator.Setup(x => x.SendAsync(It.Is<NotifyVolunteersCommand>(n => n.ViewModel.EmailRecipients.Contains(expectedEmail)))) .ReturnsAsync(new Unit()); var logger = Mock.Of<ILogger<NotifyAdminForUserUnenrolls>>(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); mediator.VerifyAll(); }
public async void SkipNotificationIfAdminEmailIsNotSpecified() { const int taskId = 29; const int eventId = 15; var eventDetails = GetTaskDetailForNotificationModel(taskId, eventId, string.Empty); var mediator = new Mock<IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny<TaskDetailForNotificationQuery>())) .ReturnsAsync(eventDetails); var logger = Mock.Of<ILogger<NotifyAdminForUserUnenrolls>>(); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger); await target.Handle(notification); // Verify the action call never occurs mediator.Verify(x => x.SendAsync(It.IsAny<NotifyVolunteersCommand>()), Times.Never); }
public async void LogTheExceptionIfAnExceptionOccurs() { const int taskId = 29; const int eventId = 15; var mediator = new Mock<IMediator>(); // Setup mock data load mediator .Setup(x => x.SendAsync(It.IsAny<TaskDetailForNotificationQuery>())) .ReturnsAsync(GetTaskDetailForNotificationModel(taskId, eventId)); // Setup exception mediator.Setup(x => x.SendAsync(It.IsAny<NotifyVolunteersCommand>())) .Throws(new InvalidOperationException("Test Exception")); // Setup expected logging var logger = new Mock<ILogger<NotifyAdminForUserUnenrolls>>(); logger.Setup(x => x.Log(It.IsAny<LogLevel>(), It.IsAny<EventId>(), It.IsAny<object>(), It.IsAny<NullReferenceException>(), It.IsAny<Func<object, Exception, string>>())); var options = GetSettings(); var notification = GetUserUnenrolls(taskId); var target = new NotifyAdminForUserUnenrolls(mediator.Object, options, logger.Object); await target.Handle(notification); logger.VerifyAll(); }