public async Task GetCalculationCircularDependencies_ApiReturnsError_ResponseHasErrorState() { GraphCalculationService graphCalculationService = CreateGraphCalculationService(); GivenGetCalculationCircularDependencies(HttpStatusCode.NotFound); IActionResult actionResult = await graphCalculationService.GetCalculationCircularDependencies(SpecificationId); ThenErrorObjectResultReturned <NotFoundObjectResult>(actionResult); }
public async Task GetCalculationCircularDependencies_ApiReturnsOk_ResponseHasApiObject() { const string CalculationId = "CalculationId"; const string CalculationName = "CalculationName"; const CalculationType CalculationType = Common.ApiClient.Graph.Models.CalculationType.Additional; const string FundingStream = "FundingStream"; const string SpecificationId = "SpecificationId"; IEnumerable <Entity <Calculation> > calculationEntities = new List <Entity <Calculation> > { new Entity <Calculation> { Node = new Calculation { CalculationId = CalculationId, CalculationName = CalculationName, CalculationType = CalculationType, FundingStream = FundingStream, SpecificationId = SpecificationId, } } }; GraphCalculationService graphCalculationService = CreateGraphCalculationService(); GivenGetCalculationCircularDependencies(HttpStatusCode.OK, calculationEntities); IActionResult actionResult = await graphCalculationService.GetCalculationCircularDependencies(SpecificationId); actionResult .Should() .NotBeNull() .And .BeOfType <OkObjectResult>(); OkObjectResult okObjectResult = actionResult as OkObjectResult; okObjectResult .Value .Should() .NotBeNull() .And .BeOfType <List <GraphCalculationEntityViewModel <GraphCalculationViewModel> > >(); List <GraphCalculationEntityViewModel <GraphCalculationViewModel> > actualCalculationEntities = okObjectResult.Value as List <GraphCalculationEntityViewModel <GraphCalculationViewModel> >; actualCalculationEntities .Count() .Should() .Be(calculationEntities.Count()); actualCalculationEntities .FirstOrDefault() .Should() .NotBeNull(); GraphCalculationEntityViewModel <GraphCalculationViewModel> firstCalculationEntity = actualCalculationEntities.FirstOrDefault(); firstCalculationEntity .Node .Should() .NotBeNull(); GraphCalculationViewModel firstCalculationNode = firstCalculationEntity.Node; firstCalculationNode .CalculationId .Should() .Be(CalculationId); firstCalculationNode .CalculationName .Should() .Be(CalculationName); firstCalculationNode .CalculationType .Should() .Be(CalculationType.ToString()); firstCalculationNode .SpecificationId .Should() .Be(SpecificationId); firstCalculationNode .FundingStream .Should() .Be(FundingStream); }