public async Task <IActionResult> GetTemplateVersions( [FromRoute] string templateId, [FromQuery] List <TemplateStatus> statuses, [FromQuery] int page, [FromQuery] int itemsPerPage) { ApiResponse <TemplateVersionListResponse> result = await _client.GetTemplateVersions(templateId, statuses, page, itemsPerPage); if (result.StatusCode.IsSuccess()) { return(Ok(result.Content)); } return(StatusCode((int)result.StatusCode)); }
public async Task GetTemplateVersions_ReturnsCorrectResult_AllStatuses() { ITemplateBuilderApiClient apiClient = Substitute.For <ITemplateBuilderApiClient>(); string templateId = Guid.NewGuid().ToString(); List <TemplateStatus> statuses = new List <TemplateStatus>(); List <TemplateSummaryResource> returnedContent = new List <TemplateSummaryResource> { new TemplateSummaryResource { TemplateId = "123", FundingPeriodId = "ABC", FundingStreamId = "XYZ", Description = "Test", LastModificationDate = DateTime.Now, SchemaVersion = "1.1", AuthorId = "author", AuthorName = "name", Comments = "A comment", Status = TemplateStatus.Published, Version = 1, MinorVersion = 1, MajorVersion = 0 } }; apiClient .GetTemplateVersions(templateId, statuses, Arg.Any <int>(), Arg.Any <int>()) .Returns(new ApiResponse <TemplateVersionListResponse>(HttpStatusCode.OK, new TemplateVersionListResponse { PageResults = returnedContent })); var authHelper = Substitute.For <IAuthorizationHelper>(); TemplateBuildController controller = new TemplateBuildController(apiClient, authHelper, Substitute.For <ILogger>()); IActionResult result = await controller.GetTemplateVersions(templateId, statuses, 1, 20); result .Should() .BeAssignableTo <OkObjectResult>(); TemplateVersionListResponse results = (result as OkObjectResult).Value as TemplateVersionListResponse; results.PageResults .Should() .Equal(returnedContent); }