Exemplo n.º 1
0
        private void SendEmail(
            string senderEmail,
            string senderName,
            string recipientEmail,
            string recipientName,
            string subject,
            string body)
        {
            var emailCommandMessage = new EmailCommandMessage(
                senderEmail,
                senderName,
                recipientEmail,
                recipientName,
                subject,
                body);

            _serviceBus.PublishMessage(emailCommandMessage);
        }
        public void Can_send_email_send_event()
        {
            // Arrange
            _emailNotificationWorker.Start();
            var message = new EmailCommandMessage("*****@*****.**", "Fromy Fromerson", "*****@*****.**", "Toto Toterson", "subject", "message");

            _serviceBus.PublishMessage(message);

            var events = _eventRepository.Events.Where(x => x.DataType == typeof(NotificationSentEvent).Name);

            Assert.IsNotEmpty(events);
            Assert.AreEqual(1, events.Count());

            var notificationSendEvent = JsonConvert.DeserializeObject <NotificationSentEvent>(events.First().Data, new JsonSerializerSettings
            {
                NullValueHandling     = NullValueHandling.Ignore,
                ReferenceLoopHandling = ReferenceLoopHandling.Serialize
            });

            Assert.AreEqual(notificationSendEvent.Message, message.Body);
            Assert.AreEqual(notificationSendEvent.Status, NotificationStatus.Send);
            Assert.AreEqual(notificationSendEvent.Type, NotificationType.Email);
        }