public ReachSmsDispatcher( ILogService logger, IRestClient restClient, IConfigurationService configurationService, ISmsNumberFormatter smsNumberFormatter, IEnumerable <KeyValuePair <MessageTypes, SmsMessageFormatter> > messageFormatters ) { _logger = logger; _restClient = restClient; _reachConfiguration = configurationService.Get <SmsConfiguration>(); _smsNumberFormatter = smsNumberFormatter; _messageFormatters = messageFormatters; }
public void SetUp() { _logService = new Mock <ILogService>(); // Templates. var smsTemplateConfiguration = new SmsTemplate { Name = "MessageTypes.SendAccountUnlockCode", Message = "Your account has been locked due to suspicious activity. To unlock it please enter the following code: {0}." }; _smsTemplateConfigurations = new[] { smsTemplateConfiguration }; var configService = new Mock <IConfigurationService>(); configService.Setup(x => x.Get <SmsConfiguration>()) .Returns(new SmsConfiguration() { Templates = _smsTemplateConfigurations }); _smsMessageFormatters = new[] { new KeyValuePair <MessageTypes, SmsMessageFormatter>(MessageTypes.SendAccountUnlockCode, new SmsAccountUnlockCodeMessageFormatter(configService.Object)) }; var smsConfig = new SmsConfiguration() { Templates = _smsTemplateConfigurations, Url = "https://www.example.com" }; _configurationService = new Mock <IConfigurationService>(); _configurationService.Setup(x => x.Get <SmsConfiguration>()).Returns(smsConfig); _smsNumberFormatter = new ReachSmsNumberFormatter(); // Default request. _communicationTokens = new[] { new CommunicationToken(CommunicationTokens.AccountUnlockCode, "XYZ789") }; _smsRequest = new SmsRequestBuilder() .WithMessageType(MessageTypes.SendAccountUnlockCode) .WithTokens(_communicationTokens) .Build(); }