public async Task Get_ShouldReturnStrategyList() { // Arrange var model = new StrategyQueryViewModel(); var adGroup = new AdGroup { AdGroupName = "My Strategy 1" }; var adGroup2 = new AdGroup { AdGroupName = "My Strategy 2" }; var adGroups = new List <AdGroup> { adGroup, adGroup2 }; Mock.Mock <IStrategyService>().Setup(x => x.GetStrategies(It.IsAny <StrategyQueryOptions>())).Returns(adGroups.ToAsyncEnumerable()); // Act var results = await Controller.Get(model); // Assert Assert.That(results, Is.Not.Null); Assert.That(results, Is.TypeOf <OkNegotiatedContentResult <PagedListViewModel <StrategyListViewModel> > >()); var content = ((OkNegotiatedContentResult <PagedListViewModel <StrategyListViewModel> >)results).Content; Assert.That(content.Data, Is.Not.Null); Assert.That(content.Data.Count(), Is.EqualTo(2)); Assert.That(content.Data.First().StrategyName, Is.EqualTo(adGroup.AdGroupName)); }
public async Task <IHttpActionResult> Get([FromUri] StrategyQueryViewModel model) { if (model == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var strategyQueryOptions = _mapping.Map <StrategyQueryOptions>(model); var adGroups = await _strategyService.GetStrategies(strategyQueryOptions).ToPagedListAsync(model).ConfigureAwait(false); var retVal = _mapping.Map <PagedListViewModel <StrategyListViewModel> >(adGroups); return(Ok(retVal)); }