public async Task GetRequest_ReturnsCorrectAModelWithCorrectNumberOfCountdowns() { TestableCountdownController controller = TestableCountdownController.Create(); controller.CountdownRepository.CountdownAggregates.Add(new CountdownAggregate()); controller.CountdownRepository.CountdownAggregates.Add(new CountdownAggregate()); controller.CountdownRepository.CountdownAggregates.Add(new CountdownAggregate()); var model = new CountdownListViewModel { Page = 1, Token = 123, DisplayOrderType = CountdownDisplayOrderType.Latest, Filter = new CountdownListFilter() }; JsonResult result = await controller.Index(model) as JsonResult; Assert.IsNotNull(result); CountdownListViewModel resultModel = result.Data as CountdownListViewModel; Assert.IsNotNull(resultModel); Assert.AreEqual(3, resultModel.Countdowns.Count()); Assert.AreEqual(3, resultModel.Total); Assert.AreEqual(model.Page, resultModel.Page); Assert.AreEqual(model.Token, resultModel.Token); Assert.AreEqual(model.DisplayOrderType, resultModel.DisplayOrderType); }
public async Task <ActionResult> Index(CountdownListViewModel model) { CountdownSubFilter subFilter = CreateCountdownSubFilter(model.Filter); Task <int> count = _countdownRepository.GetTotalCountAsync(subFilter); Task <IEnumerable <CountdownAggregate> > aggregates = _countdownRepository.GetAggregatesAsync(new CountdownFilter { Page = model.Page, Limit = CountdownLimit, CurrentUserAccountId = _contextService.CurrentUserAccountId, DisplayOrderType = model.DisplayOrderType, SubFilter = subFilter }); await Task.WhenAll(count, aggregates); var result = new CountdownListViewModel { Total = await count, Countdowns = (await aggregates).ToCountdownViewModels(), Page = model.Page, DisplayOrderType = model.DisplayOrderType, Filter = model.Filter, Token = model.Token }; return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task GetRequest_ReturnsCountdownListViewModel() { TestableCountdownController controller = TestableCountdownController.Create(); var model = new CountdownListViewModel { Filter = new CountdownListFilter() }; JsonResult result = await controller.Index(model) as JsonResult; Assert.IsNotNull(result); CountdownListViewModel resultModel = result.Data as CountdownListViewModel; Assert.IsNotNull(resultModel); }