Exemplo n.º 1
0
        public async Task RunMergeTemplateAsync()
        {
            IMergeTemplateService mergeTemplateService = _serviceProvider
                                                         .GetRequiredService <IMergeTemplateService>();
            var mockEmailService = _serviceProvider
                                   .GetRequiredService <MockEmailService>();

            var mergeTemplate = (await _serviceProvider
                                 .GetRequiredService <IMergeTemplateRepository>()
                                 .GetMergeTemplatesAsync(Mocks.Spreadsheet1Id))
                                .First();

            int count = 0;
            Action <RunMergeTemplateProgress> onProgressUpdated = progress =>
            {
                progress.Should().NotBeNull();
                progress.Processed.Should().Be(++count);
            };
            var result = await mergeTemplateService.RunMergeTemplateAsync(mergeTemplate, onProgressUpdated);

            result.Should().NotBeNull();
            count.Should().Be(2);
            result.Processed.Should().Be(2);
            result.Skipped.Should().Be(3);
            result.Errors.Should().Be(0);
            result.Total.Should().Be(5);

            // verify that emails should have been sent
            var sentEmails = mockEmailService.SentEmails;

            sentEmails.Count.Should().Be(2);
            sentEmails[0].Body.Should().Be("<p>This is a test email to Dan.</p>\n<p>&nbsp;</p>\n<p>Here are some notes: Hey there from mailman!</p>");
            sentEmails[1].Body.Should().Be("<p>This is a test email to Gregory.</p>\n<p>&nbsp;</p>\n<p>Here are some notes: Some notes.</p>");
        }
Exemplo n.º 2
0
 public MailMergeController(
     IMergeTemplateRepository mergeTemplateRepository,
     IMergeTemplateService mergeTemplateService,
     IMailmanServicesProxy servicesProxy)
 {
     EnsureArg.IsNotNull(mergeTemplateRepository);
     EnsureArg.IsNotNull(mergeTemplateService);
     EnsureArg.IsNotNull(servicesProxy);
     _mergeTemplateRepository = mergeTemplateRepository;
     _mergeTemplateService    = mergeTemplateService;
     _servicesProxy           = servicesProxy;
 }
Exemplo n.º 3
0
        public MailmanServicesLocalProxy(
            IMergeTemplateRepository mergeTemplateRepository,
            IMergeTemplateService mergeTemplateService,
            ILogger logger)
        {
            EnsureArg.IsNotNull(mergeTemplateRepository);
            EnsureArg.IsNotNull(mergeTemplateService);
            EnsureArg.IsNotNull(logger);

            _mergeTemplateRepository = mergeTemplateRepository;
            _mergeTemplateService    = mergeTemplateService;
            _logger = logger;
        }