Exemple #1
0
        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));
        }
Exemple #3
0
        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);
        }