public async Task <PagedListViewModel <SegmentListViewModel> > Get([FromUri] SegmentQueryViewModel model) { var segmentQueryOptions = _mapping.Map <SegmentQueryOptions>(model); var deals = await _segmentService.GetSegments(segmentQueryOptions).ToPagedListAsync(model).ConfigureAwait(false); return(_mapping.Map <PagedListViewModel <SegmentListViewModel> >(deals)); }
public async Task Get_ShouldReturnListOfSegments() { // Arrange var userId = Guid.NewGuid(); var model = new SegmentQueryViewModel { UserId = userId }; var buyerAccount = new BuyerAccount { BuyerAccountId = 1 }; var advertiser = new Advertiser { BuyerAccountId = buyerAccount.BuyerAccountId, BuyerAccount = buyerAccount, AdvertiserId = 1 }; var segment1 = new Segment { AdvertiserId = advertiser.AdvertiserId, SegmentName = "segment a" }; var segment2 = new Segment { AdvertiserId = advertiser.AdvertiserId, SegmentName = "segment b" }; var segments = new List <Segment> { segment1, segment2 }; Mock.Mock <ISegmentService>().Setup(x => x.GetSegments(It.IsAny <SegmentQueryOptions>())) .Returns(segments.ToAsyncEnumerable()); // Act var retVal = await Controller.Get(model); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal.TotalItemCount, Is.EqualTo(2)); }