public async void UsesUserFirstAndLastNameAsSubjectWhenProvided() { const int taskSignupId = 1001; const int taskId = 12314; const string email = "*****@*****.**"; const string firstName = "Simon"; const string lastName = "Says"; const string userEmail = "*****@*****.**"; var mediator = new Mock <IMediator>(); var options = new Mock <IOptions <GeneralSettings> >(); options.Setup(o => o.Value).Returns(new GeneralSettings { SiteBaseUrl = "allready.com" }); var notification = new TaskSignupStatusChanged { SignupId = taskSignupId }; var taskSignup = CreateTaskSignup(taskSignupId, taskId, email, firstName, lastName, userEmail); Context.TaskSignups.Add(taskSignup); Context.SaveChanges(); var target = new NotifyAdminForTaskSignupStatusChangeHandler(Context, mediator.Object, options.Object); await target.Handle(notification); mediator.Verify(x => x.SendAsync(It.Is <NotifyVolunteersCommand>(y => y.ViewModel.Subject == $"{firstName} {lastName}"))); }
public async void PassANotifyVolunteersCommandToTheMediatorWhenEmailIsProvided() { const int taskSignupId = 1001; const int taskId = 12314; const string email = "*****@*****.**"; const string userMail = "*****@*****.**"; var mediator = new Mock <IMediator>(); var options = new Mock <IOptions <GeneralSettings> >(); options.Setup(o => o.Value).Returns(new GeneralSettings { SiteBaseUrl = "allready.com" }); var notification = new TaskSignupStatusChanged { SignupId = taskSignupId }; var context = Context; var taskSignup = CreateTaskSignup(taskSignupId, taskId, email, userMail: userMail); context.TaskSignups.Add(taskSignup); context.SaveChanges(); var target = new NotifyAdminForTaskSignupStatusChangeHandler(context, mediator.Object, options.Object); await target.Handle(notification); mediator.VerifyAll(); }
public async void UsesUserFirstAndLastNameAsSubjectWhenProvided() { const int taskSignupId = 1001; const int taskId = 12314; const string email = "*****@*****.**"; const string firstName = "Simon"; const string lastName = "Says"; const string userEmail = "*****@*****.**"; var mediator = new Mock <IMediator>(); NotifyVolunteersViewModel viewModel = null; mediator.Setup(m => m.SendAsync(It.IsAny <NotifyVolunteersCommand>())) .ReturnsAsync(new Unit()) .Callback <IAsyncRequest>(request => viewModel = ((NotifyVolunteersCommand)request).ViewModel); var options = new Mock <IOptions <GeneralSettings> >(); options.Setup(o => o.Value).Returns(new GeneralSettings { SiteBaseUrl = "allready.com" }); var notification = new TaskSignupStatusChanged { SignupId = taskSignupId }; var context = Context; var taskSignup = CreateTaskSignup(taskSignupId, taskId, email, firstName, lastName, userEmail); context.TaskSignups.Add(taskSignup); context.SaveChanges(); var target = new NotifyAdminForTaskSignupStatusChangeHandler(context, mediator.Object, options.Object); await target.Handle(notification); mediator.VerifyAll(); viewModel.Subject.ShouldBe($"{firstName} {lastName}"); }
public async void NotPassANotifyVolunteersCommandToTheMediatorWhenCampaignContactsIsNull() { const int taskSignupId = 1001; const int taskId = 12314; var mediator = new Mock <IMediator>(); var options = new Mock <IOptions <GeneralSettings> >(); var notification = new TaskSignupStatusChanged { SignupId = taskSignupId }; var context = Context; var taskSignup = CreateTaskSignupWithoutCampaignContacts(taskSignupId, taskId); context.TaskSignups.Add(taskSignup); context.SaveChanges(); var target = new NotifyAdminForTaskSignupStatusChangeHandler(context, mediator.Object, options.Object); await target.Handle(notification); mediator.Verify(m => m.SendAsync(It.IsAny <NotifyVolunteersCommand>()), Times.Never); }