public void GetEvaluationSummaryFileForCentre_returns_expected_excel_data() { // Given using var expectedWorkbook = new XLWorkbook( TestContext.CurrentContext.TestDirectory + EvaluationSummaryDownloadRelativeFilePath ); GivenEvaluationSummaryDataServiceReturnsDataInExampleSheet(); var filterData = new ActivityFilterData( DateTime.Parse("2020-9-1"), DateTime.Parse("2021-9-1"), null, null, null, CourseFilterType.None, ReportInterval.Months ); // When var resultBytes = evaluationSummaryService.GetEvaluationSummaryFileForCentre(101, filterData); using var resultsStream = new MemoryStream(resultBytes); using var resultWorkbook = new XLWorkbook(resultsStream); // Then SpreadsheetTestHelper.AssertSpreadsheetsAreEquivalent(expectedWorkbook, resultWorkbook); }
public IActionResult DownloadEvaluationSummaries( int?jobGroupId, int?courseCategoryId, int?customisationId, string startDate, string endDate, ReportInterval reportInterval ) { var centreId = User.GetCentreId(); var adminCategoryIdFilter = User.GetAdminCourseCategoryFilter(); var dateRange = activityService.GetValidatedUsageStatsDateRange(startDate, endDate, centreId); if (dateRange == null) { return(new NotFoundResult()); } var filterData = new ActivityFilterData( dateRange.Value.startDate, dateRange.Value.endDate, jobGroupId, adminCategoryIdFilter ?? courseCategoryId, customisationId, customisationId.HasValue ? CourseFilterType.Course : CourseFilterType.CourseCategory, reportInterval ); var content = evaluationSummaryService.GetEvaluationSummaryFileForCentre(centreId, filterData); var fileName = $"DLS Evaluation Stats {DateTime.Today:yyyy-MM-dd}.xlsx"; return(File( content, FileHelper.GetContentTypeFromFileName(fileName), fileName )); }