Esempio n. 1
0
        public void Can_send_brand_message(MessageDeliveryMethod messageDeliveryMethod)
        {
            if (messageDeliveryMethod == MessageDeliveryMethod.Email)
            {
                _emailNotificationWorker.Start();
            }
            else
            {
                _smsNotificationWorker.Start();
            }

            if (messageDeliveryMethod == MessageDeliveryMethod.Email)
            {
                MessageTemplateService.TrySendBrandEmail(
                    TestDataGenerator.GetRandomString(),
                    TestDataGenerator.GetRandomEmail(),
                    Brand.Id,
                    MessageType.ReferFriends,
                    new ReferFriendsModel());
            }
            else
            {
                MessageTemplateService.TrySendBrandSms(
                    TestDataGenerator.GetRandomString(),
                    TestDataGenerator.GetRandomPhoneNumber(),
                    Brand.Id,
                    MessageType.ReferFriends,
                    new ReferFriendsModel());
            }

            var events = _eventRepository.GetEvents <NotificationSentEvent>().ToArray();

            Assert.That(events.Length, Is.EqualTo(1));

            var notificationType = messageDeliveryMethod == MessageDeliveryMethod.Email
                ? NotificationType.Email
                : NotificationType.Sms;

            Assert.That(events.First().Type, Is.EqualTo(notificationType));
            Assert.That(events.First().Status, Is.EqualTo(NotificationStatus.Send));
        }