Beispiel #1
0
        public async Task ValidateDataset_GivenViewModelAndResponseIsSuccess_ReturnsStatusModel()
        {
            string fundingStreamId = Guid.NewGuid().ToString();

            // Arrange
            ValidateDatasetModel viewModel = new ValidateDatasetModel
            {
                FundingStreamId = fundingStreamId
            };

            GivenTheUserHasPermissionToUploadDataSourceFilesForFundingStream(fundingStreamId, new FundingStreamPermission
            {
                CanUploadDataSourceFiles = true
            });

            DatasetValidationStatusModel statusModel = new DatasetValidationStatusModel
            {
                ValidationFailures = new Dictionary <string, IEnumerable <string> >(),
                CurrentOperation   = DatasetValidationStatus.Processing,
                DatasetId          = "datasetId",
                ErrorMessage       = "errorMessage",
                OperationId        = "operationId"
            };

            ValidatedApiResponse <DatasetValidationStatusModel> response = new ValidatedApiResponse <DatasetValidationStatusModel>(HttpStatusCode.OK, statusModel);

            DatasetValidationStatusViewModel resultViewModel = new DatasetValidationStatusViewModel
            {
                ValidationFailures = new Dictionary <string, IEnumerable <string> >(),
                CurrentOperation   = DatasetValidationStatusOperationViewModel.Processing,
                DatasetId          = "datasetId",
                ErrorMessage       = "errorMessage",
                OperationId        = "operationId"
            };

            _apiClient
            .ValidateDataset(Arg.Any <GetDatasetBlobModel>())
            .Returns(response);

            // Act
            IActionResult result = await _controller.ValidateDataset(viewModel);

            // Assert
            result
            .Should()
            .BeOfType <OkObjectResult>()
            .Which
            .Value
            .Should()
            .BeEquivalentTo(resultViewModel);
        }
        public async Task ValidateDataset_GivenViewModelAndResponseIsSuccess_ReturnsStatusModel()
        {
            // Arrange
            ValidateDatasetModel viewModel = new ValidateDatasetModel();


            DatasetValidationStatusModel statusModel = new DatasetValidationStatusModel()
            {
                ValidationFailures = new Dictionary <string, IEnumerable <string> >(),
                CurrentOperation   = DatasetValidationStatusOperation.Processing,
                DatasetId          = "datasetId",
                ErrorMessage       = "errorMessage",
                OperationId        = "operationId",
            };

            ValidatedApiResponse <DatasetValidationStatusModel> response = new ValidatedApiResponse <DatasetValidationStatusModel>(HttpStatusCode.OK, statusModel);

            DatasetValidationStatusViewModel resultViewModel = new DatasetValidationStatusViewModel()
            {
                ValidationFailures = new Dictionary <string, IEnumerable <string> >(),
                CurrentOperation   = DatasetValidationStatusOperationViewModel.Processing,
                DatasetId          = "datasetId",
                ErrorMessage       = "errorMessage",
                OperationId        = "operationId",
            };

            IDatasetsApiClient apiClient = CreateApiClient();

            apiClient
            .ValidateDataset(Arg.Is(viewModel))
            .Returns(response);

            ILogger logger = CreateLogger();

            DatasetController controller = CreateController(apiClient, logger);

            // Act
            IActionResult result = await controller.ValidateDataset(viewModel);

            // Assert
            result
            .Should()
            .BeOfType <OkObjectResult>()
            .Which
            .Value
            .Should()
            .BeEquivalentTo(resultViewModel);
        }