public async Task UpdateDatasetVersion_GivenBadRequestFromApi_ReturnsBadRequest() { ValidatedApiResponse <NewDatasetVersionResponseModel> response = new ValidatedApiResponse <NewDatasetVersionResponseModel>(HttpStatusCode.BadRequest); _apiClient .DatasetVersionUpdate(Arg.Any <DatasetVersionUpdateModel>()) .Returns(response); IActionResult result = await _controller.UpdateDatasetVersion(null, null, new DatasetUpdateViewModel()); result .Should() .BeOfType <BadRequestObjectResult>(); }
public async Task <IActionResult> UpdateDatasetVersion([FromRoute] string fundingStreamId, [FromRoute] string datasetId, [FromBody] DatasetUpdateViewModel vm) { Guard.ArgumentNotNull(vm, nameof(vm)); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ValidatedApiResponse <NewDatasetVersionResponseModel> response = await _datasetApiClient.DatasetVersionUpdate(new DatasetVersionUpdateModel { DatasetId = datasetId, FundingStreamId = fundingStreamId, Filename = vm.Filename }); if (response.IsBadRequest(out BadRequestObjectResult badRequest)) { _logger.Warning("Invalid model provided"); return(badRequest); } else { if (!response.StatusCode.IsSuccess()) { int statusCode = (int)response.StatusCode; _logger.Error("Error when posting data set with status code: {statusCode}", statusCode); return(new InternalServerErrorResult($"Error when posting data set with status code: {statusCode}")); } } return(new OkObjectResult(response.Content)); }