private string GetMailSubject(AbstractReport emailReportDto, ReportDataConfiguration reportDataConfiguration)
        {
            var userDefinedSubject = emailReportDto.MailConfiguration.MailSubject;

            if (string.IsNullOrWhiteSpace(userDefinedSubject))
            {
                throw new EmailReportException("Email subject not set");
            }

            string subject;

            if (passPercentageMatchRegex.IsMatch(userDefinedSubject))
            {
                var passPercentage = GetPassPercentage(emailReportDto, reportDataConfiguration.IncludeOthersInTotal);

                subject = passPercentageMatchRegex.Replace(userDefinedSubject, passPercentage);
            }
            else
            {
                subject = userDefinedSubject;
            }

            if (environmentStatusMatchRegex.IsMatch(subject))
            {
                subject = environmentStatusMatchRegex.Replace(subject, emailReportDto.GetEnvironmentStatus());
            }
            return(subject);
        }
 public TestResultsDataProvider(ITcmApiHelper tcmApiHelper,
                                IWorkItemTrackingApiHelper workItemTrackingApiHelper,
                                ReportDataConfiguration reportDataConfiguration,
                                ILogger logger)
 {
     _logger       = logger;
     _tcmApiHelper = tcmApiHelper;
     _workItemTrackingApiHelper = workItemTrackingApiHelper;
     _reportDataConfiguration   = reportDataConfiguration;
 }
 private void InitializeSummaryGroupViewModel(AbstractReport emailReportDto, ReportDataConfiguration reportDataConfiguration, PipelineConfiguration config)
 {
     SummaryGroups = new List <TestSummaryGroupViewModel>();
     if (emailReportDto.TestSummaryGroups != null)
     {
         foreach (var testSummaryGroup in emailReportDto.TestSummaryGroups)
         {
             if (reportDataConfiguration.GroupTestSummaryBy == testSummaryGroup.GroupingType)
             {
                 // TODO - Log.LogVerbose($"Creating summary group viewmodel for {testSummaryGroupDto.GroupedBy}");
                 SummaryGroups.Add(new TestSummaryGroupViewModel(testSummaryGroup, config, reportDataConfiguration.IncludeOthersInTotal));
             }
         }
     }
 }
 public TestSummaryDataProvider(ITcmApiHelper tcmApiHelper, ReportDataConfiguration reportDataConfiguration, ILogger logger)
 {
     _tcmApiHelper            = tcmApiHelper;
     _reportDataConfiguration = reportDataConfiguration;
     _logger = logger;
 }