Esempio n. 1
0
        public async Task <IHttpActionResult> Get([FromUri] DealQueryViewModel model)
        {
            model = model ?? new DealQueryViewModel(); // super/system admins can pass null to get all deals

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (model.BuyerAccountUuid.HasValue)
            {
                var account = await _accountService.GetAccount(model.BuyerAccountUuid.Value).ConfigureAwait(false);

                if (account == null)
                {
                    return(BadRequest("The specified account was not found."));
                }
            }

            var dealQueryOptions = _mapping.Map <DealQueryOptions>(model);
            var deals            = await _dealService.GetDeals(dealQueryOptions).ToPagedListAsync(model).ConfigureAwait(false);

            var retVal = _mapping.Map <PagedListViewModel <DealListViewModel> >(deals);

            return(Ok(retVal));
        }
Esempio n. 2
0
        public async Task Get_ShouldReturnDealList()
        {
            // Arrange
            var model = new DealQueryViewModel();
            var deal  = new Deal {
                DealUuid = Guid.NewGuid()
            };
            var deals = new List <Deal> {
                deal
            };

            Mock.Mock <IDealService>().Setup(x => x.GetDeals(It.IsAny <DealQueryOptions>())).Returns(deals.ToAsyncEnumerable());

            // Act
            var retVal = await Controller.Get(model);

            // Assert
            Assert.That(retVal, Is.Not.Null);
            Assert.That(retVal, Is.TypeOf <OkNegotiatedContentResult <PagedListViewModel <DealListViewModel> > >());
            var content = ((OkNegotiatedContentResult <PagedListViewModel <DealListViewModel> >)retVal).Content;

            Assert.That(content.TotalItemCount, Is.EqualTo(1));
            Assert.That(content.Data.ElementAt(0).DealUuid, Is.EqualTo(deal.DealUuid));
        }