From 1b004bbc9df1e1b9f7240fe211c5f61439751767 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Mon, 5 Dec 2011 12:20:37 -0800 Subject: [PATCH] #17552: Allowing multiple recipient when using IMessageManager Work Item: 17552 --HG-- branch : 1.x --- .../Email/EmailChannelTests.cs | 40 ++++++++++++ .../Orchard.Tests.Modules.csproj | 2 + .../Orchard.Email/Rules/MailActions.cs | 13 ++-- .../Services/EmailMessageEventHandler.cs | 8 ++- .../Services/EmailMessagingChannel.cs | 2 +- .../Handlers/UserMessagesAlteration.cs | 4 +- .../Messaging/Models/MessageContext.cs | 8 ++- .../Services/DefaultMessageManager.cs | 62 ++++++++++--------- .../Messaging/Services/IMessageManager.cs | 27 ++++++-- 9 files changed, 119 insertions(+), 47 deletions(-) create mode 100644 src/Orchard.Tests.Modules/Email/EmailChannelTests.cs diff --git a/src/Orchard.Tests.Modules/Email/EmailChannelTests.cs b/src/Orchard.Tests.Modules/Email/EmailChannelTests.cs new file mode 100644 index 000000000..48c15d557 --- /dev/null +++ b/src/Orchard.Tests.Modules/Email/EmailChannelTests.cs @@ -0,0 +1,40 @@ +using Autofac; +using Moq; +using NUnit.Framework; +using Orchard.ContentManagement.Records; +using Orchard.Messaging.Events; +using Orchard.Messaging.Services; +using Orchard.Tests.Messaging; +using Orchard.Tests.Utility; + +namespace Orchard.Tests.Modules.Email { + [TestFixture] + public class EmailChannelTests { + private MessagingChannelStub _channel; + private IMessageManager _messageManager; + + [SetUp] + public void Init() { + var builder = new ContainerBuilder(); + + builder.RegisterInstance(new Mock().Object); + builder.RegisterType().As(); + builder.RegisterInstance(_channel = new MessagingChannelStub()).As(); + + var container = builder.Build(); + _messageManager = container.Resolve(); + } + + [Test] + public void CanSendEmailUsingAddresses() { + _messageManager.Send(new []{ "steveb@microsoft.com" }, "test", "email"); + Assert.That(_channel.Messages.Count, Is.EqualTo(1)); + } + + [Test] + public void OneMessageIsSentUsingMultipleRecipients() { + _messageManager.Send(new[] { "steveb@microsoft.com", "billg@microsoft.com" }, "test", "email"); + Assert.That(_channel.Messages.Count, Is.EqualTo(1)); + } + } +} \ No newline at end of file diff --git a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj index 62d8e49fb..ea8a563df 100644 --- a/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj +++ b/src/Orchard.Tests.Modules/Orchard.Tests.Modules.csproj @@ -143,6 +143,7 @@ + @@ -298,6 +299,7 @@ +