public async Task <IHttpActionResult> Get([FromUri] VerticalQueryViewModel model)
        {
            model = model ?? new VerticalQueryViewModel();

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

            var verticalQueryOptions = _mapping.Map <VerticalQueryOptions>(model);
            var verticals            = await _verticalService.GetVerticals(verticalQueryOptions).ToPagedListAsync(model).ConfigureAwait(false);

            var retVal = _mapping.Map <PagedListViewModel <VerticalListViewModel> >(verticals);

            return(Ok(retVal));
        }
        public async Task Get_ShouldReturnVerticalList()
        {
            // Arrange
            var model    = new VerticalQueryViewModel();
            var vertical = new Vertical {
                VerticalId = 1
            };
            var verticals = new List <Vertical> {
                vertical
            };

            Mock.Mock <IVerticalService>().Setup(x => x.GetVerticals(It.IsAny <VerticalQueryOptions>())).Returns(verticals.ToAsyncEnumerable());

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

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

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