示例#1
0
        public async Task Handle(Messages.Commands.SendSmsCommand message, IMessageHandlerContext context)
        {
            try
            {
                var command = new SendSmsMediatRCommand {
                    SystemId         = "X",
                    TemplateId       = message.TemplateId,
                    RecipientsNumber = message.RecipientsNumber,
                    Tokens           = message.Tokens
                };

                await _mediator.Send(command);
            }
            catch (Exception e)
            {
                _logger.LogError(e.Message);
                throw;
            }
        }
        public void Arrange()
        {
            _templateConfiguration = new TemplateConfiguration
            {
                SmsServiceTemplates = new List <SmsTemplate>
                {
                    new SmsTemplate {
                        Id = TemplateName, ServiceId = TranslatedTemplateId
                    },
                    new SmsTemplate {
                        Id = "Not" + TemplateName, ServiceId = "fffb72dd-ef2d-4fcd-9d41-12a23801a5ea"
                    }
                }
            };

            _smsService = new Mock <ISmsService>();

            _smsService.Setup(x => x.SendAsync(It.IsAny <SmsMessage>())).Throws(new Exception());

            _handler = new SendSmsMediatRCommandHandler(
                _templateConfiguration,
                Mock.Of <ILogger <SendSmsMediatRCommandHandler> >(),
                _smsService.Object);

            _systemId         = "Test System";
            _recipientsNumber = "07123456789";
            _tokens           = new Dictionary <string, string> {
                { "Key1", "Value1" }
            };


            _command = new SendSmsMediatRCommand
            {
                SystemId         = _systemId,
                RecipientsNumber = _recipientsNumber,
                TemplateId       = TemplateName,
                Tokens           = _tokens
            };
        }