Пример #1
0
        public async Task MessagingDomainService_SendSMSMessage_MessageSent()
        {
            Mock <IAggregateRepository <EmailAggregate, DomainEventRecord.DomainEvent> > emailAggregateRepository = new Mock <IAggregateRepository <EmailAggregate, DomainEventRecord.DomainEvent> >();
            Mock <IAggregateRepository <SMSAggregate, DomainEventRecord.DomainEvent> >   smsAggregateRepository   = new Mock <IAggregateRepository <SMSAggregate, DomainEventRecord.DomainEvent> >();

            smsAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(TestData.GetEmptySMSAggregate());
            Mock <IEmailServiceProxy> emailServiceProxy = new Mock <IEmailServiceProxy>();
            Mock <ISMSServiceProxy>   smsServiceProxy   = new Mock <ISMSServiceProxy>();

            smsServiceProxy
            .Setup(e => e.SendSMS(It.IsAny <Guid>(),
                                  It.IsAny <String>(),
                                  It.IsAny <String>(),
                                  It.IsAny <String>(),
                                  It.IsAny <CancellationToken>())).ReturnsAsync(TestData.SuccessfulSMSServiceProxyResponse);
            MessagingDomainService messagingDomainService =
                new MessagingDomainService(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);

            await messagingDomainService.SendSMSMessage(TestData.ConnectionIdentifier,
                                                        TestData.MessageId,
                                                        TestData.Sender,
                                                        TestData.Destination,
                                                        TestData.Message,
                                                        CancellationToken.None);
        }
Пример #2
0
        public async Task MessagingDomainService_SendEmailMessage_MessageSent()
        {
            Mock <IAggregateRepository <EmailAggregate, DomainEventRecord.DomainEvent> > emailAggregateRepository = new Mock <IAggregateRepository <EmailAggregate, DomainEventRecord.DomainEvent> >();

            emailAggregateRepository.Setup(a => a.GetLatestVersion(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(TestData.GetEmptyEmailAggregate());
            Mock <IAggregateRepository <SMSAggregate, DomainEventRecord.DomainEvent> > smsAggregateRepository = new Mock <IAggregateRepository <SMSAggregate, DomainEventRecord.DomainEvent> >();
            Mock <IEmailServiceProxy> emailServiceProxy = new Mock <IEmailServiceProxy>();

            emailServiceProxy
            .Setup(e => e.SendEmail(It.IsAny <Guid>(),
                                    It.IsAny <String>(),
                                    It.IsAny <List <String> >(),
                                    It.IsAny <String>(),
                                    It.IsAny <String>(),
                                    It.IsAny <Boolean>(),
                                    It.IsAny <CancellationToken>())).ReturnsAsync(TestData.SuccessfulEmailServiceProxyResponse);
            Mock <ISMSServiceProxy> smsServiceProxy = new Mock <ISMSServiceProxy>();

            MessagingDomainService messagingDomainService =
                new MessagingDomainService(emailAggregateRepository.Object, smsAggregateRepository.Object, emailServiceProxy.Object, smsServiceProxy.Object);

            await messagingDomainService.SendEmailMessage(TestData.ConnectionIdentifier,
                                                          TestData.MessageId,
                                                          TestData.FromAddress,
                                                          TestData.ToAddresses,
                                                          TestData.Subject,
                                                          TestData.Body,
                                                          TestData.IsHtmlTrue,
                                                          CancellationToken.None);
        }