public void SendOutEmailsAboutEventUsesNotificationSettings() { //arrange _userPresentationProviderMock.Setup(provider => provider.GetUserEventSettings(42, It.IsAny<string>())) .Returns(NotificationSettingValue.SendNotificationAndMail); _userPresentationProviderMock.Setup(provider => provider.GetUserEventSettings(52, It.IsAny<string>())) .Returns(NotificationSettingValue.SendNotificationAndMail); _userPresentationProviderMock.Setup(provider => provider.GetUserEventSettings(77, It.IsAny<string>())) .Returns(NotificationSettingValue.SendOnlyNotification); _distributionPolicyFactoryMock.Setup(factory => factory.GetAdminRelatedPolicy()) .Returns(new DistributionPolicy(new[] {42})); _distributionPolicyFactoryMock.Setup(factory => factory.GetProjectRelatedPolicy(It.IsAny<int>())) .Returns(new DistributionPolicy(new[] {52, 77})); _projectsEventSink = new ProjectsEventSink( _distributionPolicyFactoryMock.Object, _eventRepositoryMock.Object, _mailerMock.Object, _userPresentationProviderMock.Object); var developerOnProjectEvent = new NewDeveloperOnProject(11, 10); //act _projectsEventSink.ConsumeEvent(developerOnProjectEvent); //assert _mailerMock.Verify(mailer => mailer.SendNotificationEmail(new[] {52, 42}, developerOnProjectEvent), Times.Once); }
private string Describe(NewDeveloperOnProject @event) { Require.NotNull(@event, nameof(@event)); var developer = _userRepository.GetAccount(@event.UserId); var developerFullName = developer.Firstname + " " + developer.Lastname; var project = _projectRepository.GetProject(@event.ProjectId); return string.Format(EventDescriptionResources.NewDeveloperOnProject, project.Name, developerFullName); }
private DistributionPolicy GetDistributionPolicyForEvent(NewDeveloperOnProject @eventInfo) { return DistributionPolicyFactory.GetProjectRelatedPolicy(@eventInfo.ProjectId) .Merge(DistributionPolicyFactory.GetAdminRelatedPolicy()); }
private DistributionPolicy GetDistributionPolicyForEvent(NewDeveloperOnProject @eventInfo) { return (DistributionPolicyFactory.GetProjectRelatedPolicy(@eventInfo.ProjectId) .Merge(DistributionPolicyFactory.GetAdminRelatedPolicy())); }