/// <summary> /// Displays a non-paginated list of entities returned from the underlying /// service in no particular order at all. /// </summary> /// <returns> /// ViewResult with an IEnumerable of TViewModel as it's model. /// </returns> public virtual ActionResult Index() { var vmList = service .GetList() .Select(e => converter.EntityToViewmodel(e)); return(View(vmList)); }
public void HttpGet_IndexMethod_ReturnsExpectedList() { // build our service and controller serviceMocker.Setup(e => e.GetList()).Returns(() => { var customers = new List <Customer>(); for (int i = 1; i <= 100; i++) { // need to set the ID and all reference fields, or the converter // instance will get super sad because it expectes reference types (except strings) // to be initliazed. customers.Add(new Customer { Id = i, BillingAddress = new Address(), StreetAddress = new Address(), PrimaryContact = new HumanContact() }); } return(customers); }); // result is expected type var result = controller.Index(); Assert.That(result, Is.InstanceOf <ViewResult>()); // and it's viewmodel is what we expect var viewResult = (ViewResult)result; Assert.That(viewResult.Model, Is.InstanceOf <IEnumerable <CustomerViewModel> >()); // and that the viewmodel has the number of elements that we're expecting var viewResultModel = (IEnumerable <CustomerViewModel>)viewResult.Model; Assert.That(viewResultModel.Count(), Is.EqualTo(service.GetList().Count())); }