private void BuildDescriptor() { provider = new DefaultControllerDescriptorProvider(new DefaultHelperDescriptorProvider(), new DefaultFilterDescriptorProvider(), new DefaultLayoutDescriptorProvider(), new DefaultRescueDescriptorProvider(), new DefaultResourceDescriptorProvider(), new DefaultTransformFilterDescriptorProvider(), new DefaultReturnBinderDescriptorProvider(), new DefaultDynamicActionProviderDescriptorProvider()); }
public void DescriptorIsCreatedForControllerAndAction() { helperDescProviderMock = mockRepository.DynamicMock <IHelperDescriptorProvider>(); filterDescProviderMock = mockRepository.DynamicMock <IFilterDescriptorProvider>(); layoutDescProviderMock = mockRepository.DynamicMock <ILayoutDescriptorProvider>(); rescueDescProviderMock = mockRepository.DynamicMock <IRescueDescriptorProvider>(); resourceProviderMock = mockRepository.DynamicMock <IResourceDescriptorProvider>(); transformDescProviderMock = mockRepository.DynamicMock <ITransformFilterDescriptorProvider>(); returnTypeDescProviderMock = mockRepository.DynamicMock <IReturnBinderDescriptorProvider>(); dynamicActionProviderDescProviderMock = mockRepository.DynamicMock <IDynamicActionProviderDescriptorProvider>(); provider = new DefaultControllerDescriptorProvider(helperDescProviderMock, filterDescProviderMock, layoutDescProviderMock, rescueDescProviderMock, resourceProviderMock, transformDescProviderMock, returnTypeDescProviderMock, dynamicActionProviderDescProviderMock); var controllerType = typeof(SingleActionController); var actionMethod = controllerType.GetMethod("Action1"); using (mockRepository.Record()) { // Controller level Expect.Call(helperDescProviderMock.CollectHelpers(controllerType)).Return(new HelperDescriptor[0]); Expect.Call(resourceProviderMock.CollectResources(controllerType)).Return(new ResourceDescriptor[0]); Expect.Call(filterDescProviderMock.CollectFilters(controllerType)).Return(new FilterDescriptor[0]); Expect.Call(layoutDescProviderMock.CollectLayout(controllerType)).Return(null); Expect.Call(rescueDescProviderMock.CollectRescues(controllerType)).Return(new RescueDescriptor[0]); // Action level Expect.Call(resourceProviderMock.CollectResources(actionMethod)).Return(new ResourceDescriptor[0]); Expect.Call(rescueDescProviderMock.CollectRescues(actionMethod)).Return(new RescueDescriptor[0]); Expect.Call(layoutDescProviderMock.CollectLayout(actionMethod)).Return(null); Expect.Call(transformDescProviderMock.CollectFilters(actionMethod)).Return(new TransformFilterDescriptor[0]); Expect.Call(returnTypeDescProviderMock.Collect(actionMethod)).Return(null); Expect.Call(dynamicActionProviderDescProviderMock.CollectProviders(controllerType)).Return( new DynamicActionProviderDescriptor[0]); } using (mockRepository.Playback()) { var metaDesc = provider.BuildDescriptor(controllerType); Assert.IsNotNull(metaDesc); var actionMetaDesc = metaDesc.GetAction(actionMethod); Assert.IsNotNull(actionMetaDesc); Assert.IsNull(actionMetaDesc.AccessibleThrough); } }
/// <summary> /// Initializes a new instance of the <see cref="StubMonoRailServices"/> class. /// </summary> /// <param name="urlBuilder">The URL builder.</param> /// <param name="filterFactory">The filter factory.</param> /// <param name="viewEngineManager">The view engine manager.</param> /// <param name="actionSelector">The action selector.</param> /// <param name="dynamicActionProviderFactory">The dynamic action provider factory.</param> public StubMonoRailServices(IUrlBuilder urlBuilder, IFilterFactory filterFactory, IViewEngineManager viewEngineManager, IActionSelector actionSelector, IDynamicActionProviderFactory dynamicActionProviderFactory) { this.UrlBuilder = urlBuilder; this.FilterFactory = filterFactory; this.ViewEngineManager = viewEngineManager; this.ActionSelector = actionSelector; this.DynamicActionProviderFactory = dynamicActionProviderFactory; controllerTree = new DefaultControllerTree(); ControllerFactory = new DefaultControllerFactory(controllerTree); StaticResourceRegistry = new DefaultStaticResourceRegistry(); ControllerContextFactory = new DefaultControllerContextFactory(); ControllerDescriptorProvider = new DefaultControllerDescriptorProvider( new DefaultHelperDescriptorProvider(), new DefaultFilterDescriptorProvider(), new DefaultLayoutDescriptorProvider(), new DefaultRescueDescriptorProvider(), new DefaultResourceDescriptorProvider(), new DefaultTransformFilterDescriptorProvider(), new DefaultReturnBinderDescriptorProvider(), new DefaultDynamicActionProviderDescriptorProvider()); ResourceFactory = new DefaultResourceFactory(); ScaffoldingSupport = new StubScaffoldingSupport(); CacheProvider = new StubCacheProvider(); HelperFactory = new DefaultHelperFactory(); ServiceInitializer = new DefaultServiceInitializer(); ExtensionManager = new ExtensionManager(this); ValidatorRegistry = new CachedValidationRegistry(); JSONSerializer = new NewtonsoftJSONSerializer(); DictionaryAdapterFactory = new DictionaryAdapterFactory(); ScriptBuilder = new DefaultScriptBuilder(); }