public async Task Get_ReturnsAllValues() { // Arrange SpaceXLaunchPadFilter filter = new SpaceXLaunchPadFilter() { Limit = "0", Status = "all" }; var mockRepo = new Mock <ISpaceXLaunchPadData>(); //mock the data returned by GetDataAsync mockRepo.Setup(rep => rep.GetDataAsync(filter)) .ReturnsAsync(GetTestData()); //mock the logger var mock = new Mock <ILoggerFactory>(); ILoggerFactory logger = mock.Object; var controller = new SpaceXLaunchPadController(logger, mockRepo.Object); // Act IActionResult getresult = await controller.GetLPInfo(filter); // Assert Assert.NotNull(getresult); ObjectResult result = getresult as ObjectResult; Assert.NotNull(result); var resultlist = result.Value as List <SDCLaunchPadInfo>; Assert.NotNull(resultlist); Assert.Same("vafb_slc_3w", resultlist[0].Id); Assert.Same("ccafs_slc_40", resultlist[1].Id); Assert.Same("Vandenberg Air Force Base Space Launch Complex 3W", resultlist[0].Full_name); Assert.Same("Cape Canaveral Air Force Station Space Launch Complex 40", resultlist[1].Full_name); Assert.Same("retired", resultlist[0].Status); Assert.Same("active", resultlist[1].Status); }
public async Task <List <SpaceXLaunchPad> > GetDataAsync(SpaceXLaunchPadFilter filter) { try { var jsonresponse = ""; if (Int32.Parse(filter.Limit) != 0) { jsonresponse = await _client.GetStringAsync("/v2/launchpads?limit=" + Int32.Parse(filter.Limit)); } else { jsonresponse = await _client.GetStringAsync("/v2/launchpads"); } _logger.LogDebug("Http request successful"); return(JsonConvert.DeserializeObject <List <SpaceXLaunchPad> >(jsonresponse));; } catch (Exception ex) { _logger.LogError("Http request failed: {errormessage}", ex.Message); return(null); } }
public async Task <ActionResult> GetLPInfo([FromQuery] SpaceXLaunchPadFilter filter) { List <SpaceXLaunchPad> sxlp = new List <SpaceXLaunchPad>(); sxlp = await _spacexlaunchpaddata.GetDataAsync(filter); //return require data to client List <SDCLaunchPadInfo> sdcobj = new List <SDCLaunchPadInfo>(); foreach (var record in sxlp) { sdcobj.Add(new SDCLaunchPadInfo() { Id = record.Id, Full_name = record.Full_name, Status = record.Status }); } if (filter.Status != null && filter.Status != "all") { List <SDCLaunchPadInfo> filteredsdcobj = sdcobj.Where(p => p.Status == filter.Status).ToList(); return(new ObjectResult(filteredsdcobj)); } return(new ObjectResult(sdcobj)); }