public void GetLookupLists_ShouldGetPostZones() { var repositoryResolver = MockRepository.GenerateStub <IRepositoryResolver>(); countryController.RepositoryResolver = repositoryResolver; // create a list of post zones var postZones = new List <PostZone> { new PostZone() }.AsQueryable(); // setup expectations var postZoneRepository = MockRepository.GenerateStub <IRepository>(); repositoryResolver.Expect(k => k.GetRepository(typeof(PostZone))).Return(postZoneRepository); postZoneRepository.Expect(pzr => pzr.GetAll()).Return(postZones); // now exercise the method var viewData = new ScaffoldViewData <Country>(); countryController.AppendLookupLists(viewData); Assert.AreSame(postZones, viewData.GetLookupList(typeof(PostZone))); }
private void AppendLookupList(ScaffoldViewData <T> viewData, PropertyInfo property) { var repository = RepositoryResolver.GetRepository(property.PropertyType); // get the items object items = repository.GetAll(); // add the items to the viewData viewData.WithLookupList(property.PropertyType, items); }
public virtual void AppendLookupLists(ScaffoldViewData <T> viewData) { // find any properties that are attributed as a linq entity foreach (var property in typeof(T).GetProperties(BindingFlags.Instance | BindingFlags.Public)) { if (property.PropertyType.IsEntity()) { AppendLookupList(viewData, property); } } }
public void GetLookupLists_ShouldGetPostZones() { var repositoryResolver = MockRepository.GenerateStub<IRepositoryResolver>(); countryController.repositoryResolver = repositoryResolver; // create a list of post zones var postZones = new List<PostZone> { new PostZone() }.AsQueryable(); // setup expectations var postZoneRepository = MockRepository.GenerateStub<IRepository>(); repositoryResolver.Expect(k => k.GetRepository(typeof(PostZone))).Return(postZoneRepository); postZoneRepository.Expect(pzr => pzr.GetAll()).Return(postZones); // now exercise the method var viewData = new ScaffoldViewData<Country>(); countryController.AppendLookupLists(viewData); Assert.AreSame(postZones, viewData.GetLookupList(typeof(PostZone))); }