public async Task <IHttpActionResult> Get([FromUri] PublisherQueryViewModel model) { model = model ?? new PublisherQueryViewModel(); if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var publisherQueryOptions = _mapping.Map <PublisherQueryOptions>(model); var publishers = await _publisherService.GetPublishers(publisherQueryOptions).ToPagedListAsync(model).ConfigureAwait(false); var retVal = _mapping.Map <PagedListViewModel <PublisherListViewModel> >(publishers); return(Ok(retVal)); }
public async Task Get_ShouldReturnPublisherList() { // Arrange var model = new PublisherQueryViewModel(); var publisher = new Publisher { PublisherUuid = Guid.NewGuid() }; var publishers = new List <Publisher> { publisher }; Mock.Mock <IPublisherService>().Setup(x => x.GetPublishers(It.IsAny <PublisherQueryOptions>())).Returns(publishers.ToAsyncEnumerable()); // Act var retVal = await Controller.Get(model); // Assert Assert.That(retVal, Is.Not.Null); Assert.That(retVal, Is.TypeOf <OkNegotiatedContentResult <PagedListViewModel <PublisherListViewModel> > >()); var content = ((OkNegotiatedContentResult <PagedListViewModel <PublisherListViewModel> >)retVal).Content; Assert.That(content.TotalItemCount, Is.EqualTo(1)); Assert.That(content.Data.ElementAt(0).PublisherUuid, Is.EqualTo(publisher.PublisherUuid)); }