public async Task UpdateDatasetPageModel_OnGetAsync_WhenValidDatasetVersionRequested_ThenPageIsDisplayed() { // Arrange IDatasetsApiClient datasetsApiClient = CreateDatasetsApiClient(); UpdateDatasetPageModel pageModel = CreatePageModel(datasetsApiClient); string datasetId = "ds1"; DatasetVersionResponse datasetVersionResponse = new DatasetVersionResponse() { Id = "ds1", }; datasetsApiClient .GetCurrentDatasetVersionByDatasetId(datasetId) .Returns(new ApiResponse <DatasetVersionResponse>(System.Net.HttpStatusCode.OK, datasetVersionResponse)); // Act IActionResult result = await pageModel.OnGetAsync(datasetId); // Assert result .Should() .BeOfType <PageResult>() .And .Should().NotBeNull(); pageModel.DatasetVersion .Should() .BeEquivalentTo(datasetVersionResponse, c => c.WithAutoConversion()); }
public async Task OnGetAsync_WhenOperationTypeIsDatasetCreated_ThenBannerPopulated() { //Arrange IDatasetSearchService searchService = CreateSearchService(); IDatasetsApiClient datasetsApiClient = CreateDatasetApiClient(); DatasetSearchResultViewModel searchResult = new DatasetSearchResultViewModel() { CurrentPage = 2, EndItemNumber = 0, Facets = new List <SearchFacetViewModel>(), PagerState = new PagerState(1, 1), Datasets = new List <DatasetSearchResultItemViewModel>(), StartItemNumber = 1, TotalResults = 0 }; searchService .PerformSearch(Arg.Any <SearchRequestViewModel>()) .Returns(searchResult); ManageDatasetsPageModel DatasetModel = CreateDatasetPageModel(searchService, datasetsApiClient); string datasetId = "Dataset1"; DatasetVersionResponse datasetVersionResponse = CreateDatasetResponseForBannerChecks(datasetId); datasetsApiClient.GetCurrentDatasetVersionByDatasetId(Arg.Any <string>()) .Returns(new ApiResponse <DatasetVersionResponse>(HttpStatusCode.OK, datasetVersionResponse)); //Act IActionResult result = await DatasetModel.OnGetAsync(null, null, DatasetPageBannerOperationType.DatasetCreated, "Dataset1"); //Assert result .Should() .BeOfType <PageResult>(); DatasetModel .PageBanner .Should() .BeEquivalentTo(new PageBannerOperation() { EntityName = "Test Dataset", EntityType = "Data Source", OperationId = "Dataset1", SecondaryActionUrl = "/datasets/updatedataset?datasetId=" + datasetId, CurrentDataSourceRows = datasetVersionResponse.CurrentDataSourceRows, PreviousDataSourceRows = datasetVersionResponse.PreviousDataSourceRows, DisplayOperationActionSummary = true, OperationActionSummaryText = "A new data source with " + datasetVersionResponse.CurrentDataSourceRows + " data rows uploaded", }); }
public async Task <IActionResult> OnGetAsync(int?pageNumber, string searchTerm, DatasetPageBannerOperationType?operationType = null, string operationId = null) { SearchRequestViewModel searchRequest = new SearchRequestViewModel() { PageNumber = pageNumber, IncludeFacets = false, SearchTerm = searchTerm, }; SearchTerm = searchTerm; OperationType = operationType; if (operationType.HasValue) { if (string.IsNullOrWhiteSpace(operationId)) { return(new PreconditionFailedResult("Operation ID not provided")); } ApiResponse <DatasetVersionResponse> datasetVersionResponse = await _datasetApiClient.GetCurrentDatasetVersionByDatasetId(operationId); IActionResult errorResult = datasetVersionResponse.IsSuccessOrReturnFailureResult("Dataset"); if (errorResult != null) { return(errorResult); } DatasetVersionResponse DatsetVersion = datasetVersionResponse.Content; PageBanner = new PageBannerOperation() { EntityName = DatsetVersion.Name, EntityType = "Data Source", OperationId = operationId, DisplayOperationActionSummary = true, CurrentDataSourceRows = DatsetVersion.CurrentDataSourceRows, PreviousDataSourceRows = DatsetVersion.PreviousDataSourceRows, SecondaryActionUrl = $"/datasets/updatedataset?datasetId={operationId}", }; switch (operationType) { case DatasetPageBannerOperationType.DatasetCreated: PageBanner.OperationActionSummaryText = "A new data source with " + PageBanner.CurrentDataSourceRows + " data rows uploaded"; break; case DatasetPageBannerOperationType.DatasetUpdated: PageBanner.OperationActionSummaryText = "A new version of a data source with " + PageBanner.CurrentDataSourceRows + " data rows uploaded, the previous version contained " + PageBanner.PreviousDataSourceRows + " data rows"; break; } } SearchResults = await _searchService.PerformSearch(searchRequest); if (SearchResults == null) { return(new InternalServerErrorResult("There was an error retrieving data sources from the Search Index.")); } return(Page()); }