public void GetEmailPerformanceByDomainReport_FileTypeXml_RecurrenceWeekly_NoException()
        {
            // Arrange
            InitilizeGetEmailPerformanceByDomainReportTests(FileTypeXml, ValueRecurrenceTypeWeekly);
            var message         = new EmailDirect();
            var constructedBody = String.Empty;
            var report          = new TestEmailPerformanceByDomainReport(message, constructedBody, _reportSchedule, DateTime.Today);

            // Act
            var returnResult = report.Execute();

            // Assert
            returnResult.ShouldNotBeNull();
            returnResult.success.ShouldBeTrue();
            report.Body.ShouldContain(SuccessfulResultStringGetEmailPerformanceByDomainReport);
            _anyException.ShouldBeFalse();
        }
        public void GetEmailPerformanceByDomainReport_FileTypeDefault_RecurrenceTypeMonthly_NoData()
        {
            // Arrange
            InitilizeGetEmailPerformanceByDomainReportTests(String.Empty, ValueRecurrenceTypeMonthly);
            ShimEmailPerformanceByDomainReport.GetInt32DateTimeDateTimeBoolean =
                (x1, x2, x3, x4) => new List <EmailPerformanceByDomain>();
            _testedClass.SetStaticFieldOrProperty(FieldMasterStartDate, new DateTime(2018, 2, 2));
            var message         = new EmailDirect();
            var constructedBody = String.Empty;
            var report          = new TestEmailPerformanceByDomainReport(message, constructedBody, _reportSchedule, DateTime.Today);

            // Act
            var returnResult = report.Execute();

            // Assert
            returnResult.ShouldNotBeNull();
            returnResult.success.ShouldBeFalse();
            report.Body.ShouldContain(NoRecordStringGetEmailPerformanceByDomainReport);
        }
        public void GetEmailPerformanceByDomainReport_FileTypeDefault_RecurrenceDefault_NoReportParameterException()
        {
            // Arrange
            InitilizeGetEmailPerformanceByDomainReportTests(String.Empty, String.Empty);
            _reportSchedule = new ECN_Framework_Entities.Communicator.Fakes.ShimReportSchedule
            {
                ReportParametersGet = () => throw new Exception(ExceptionNoReportScheduleParameters)
            };
            var message         = new EmailDirect();
            var constructedBody = String.Empty;
            var report          = new TestEmailPerformanceByDomainReport(message, constructedBody, _reportSchedule, DateTime.Today);

            // Act
            var returnResult = report.Execute();

            // Assert
            returnResult.ShouldNotBeNull();
            returnResult.success.ShouldBeFalse();
            report.Body.ShouldContain(FailureMessageForGetEmailPerformanceByDomainReport);
            _anyException.ShouldBeTrue();
            _exceptionMessage.ShouldBe(ExceptionNoReportScheduleParameters);
        }