public void SetUp() { var placeholder1 = new Placeholder("area 1"); var placeholder2 = new Placeholder("area 2"); var widgetSpecification = new WidgetSpecification("widget"); widgetSpecification.Insert(0, placeholder1); widgetSpecification.Insert(1, placeholder2); var area = new Area("area 1"); var widget = new Widget("widget", new[] { area }); var buildContext = new BuildData(Enumerable.Empty <IContextItem>()); var builder = new Builder(RenderingInstructions.BuildForPreview(), w => widgetSpecification, null); var instance = widget.Build(builder, new[] { 0 }, buildContext); var rendererFactory = MockRepository.GenerateStub <IRendererFactory>(); this.viewHelper = MockRepository.GenerateStub <IViewHelper>(); var multiRenderer = new MultiRenderer(rendererFactory); KolaConfigurationRegistry.RegisterRenderer(multiRenderer); this.result = instance.Render(multiRenderer); }
public KolaNancyBootstrapper() { var plugins = new PluginFinder().FindPlugins().ToArray(); this.ConfigureNamespaces(plugins); KolaConfigurationRegistry.RegisterPlugins(plugins); }
public void SetUp() { var atom1Specification = MockRepository.GenerateStub <IPluginComponentSpecification <IComponentWithProperties> >(); var atom2Specification = MockRepository.GenerateStub <IPluginComponentSpecification <IComponentWithProperties> >(); var atom3Specification = MockRepository.GenerateStub <IPluginComponentSpecification <IComponentWithProperties> >(); var containerSpecification = MockRepository.GenerateStub <IPluginComponentSpecification <IComponentWithProperties> >(); var renderingInstructions = MockRepository.GenerateStub <IRenderingInstructions>(); atom1Specification.ViewName = "Atom1View"; atom2Specification.ViewName = "Atom2View"; atom3Specification.ViewName = "Atom3View"; containerSpecification.ViewName = "Container1View"; var handlerFactory = MockRepository.GenerateStub <IRendererFactory>(); handlerFactory.Stub(h => h.GetAtomRenderer("atom1")).Return(new DefaultRenderer(atom1Specification)); handlerFactory.Stub(h => h.GetAtomRenderer("atom2")).Return(new DefaultRenderer(atom2Specification)); handlerFactory.Stub(h => h.GetAtomRenderer("atom3")).Return(new DefaultRenderer(atom3Specification)); handlerFactory.Stub(h => h.GetContainerRenderer("container1")).Return(new DefaultRenderer(containerSpecification)); var renderer = new MultiRenderer(handlerFactory); KolaConfigurationRegistry.RegisterRenderer(renderer); var page = new PageInstance( new ComponentInstance[] { new AtomInstance(new[] { 0 }, renderingInstructions, "atom1", Enumerable.Empty <PropertyInstance>()), new AtomInstance(new[] { 1 }, renderingInstructions, "atom2", Enumerable.Empty <PropertyInstance>()), new ContainerInstance(new[] { 2 }, renderingInstructions, "container1", null, new[] { new AtomInstance(new[] { 2, 0 }, renderingInstructions, "atom3", Enumerable.Empty <PropertyInstance>()) }) }, renderingInstructions); var viewFactory = new TestViewFactory(renderer); var viewHelper = new TestViewHelper(viewFactory); var renderedPage = renderer.Render(page); this.result = renderedPage.ToHtml(viewHelper); }
protected override void ConfigureRequestContainer(TinyIoCContainer tinyIoCContainer, NancyContext context) { tinyIoCContainer.Register(this.GetAccessToken(context), "access_token"); tinyIoCContainer.Register <ITemplateService, TemplateService>(); tinyIoCContainer.Register <IRenderingService, RenderingService>(); var sitemapDomainName = ConfigurationManager.AppSettings["SitemapDomainName"]; tinyIoCContainer.Register <ISitemapService>((c, o) => new SitemapService(c.Resolve <IContentRepository>(), c.Resolve <IPathInstanceBuilder>(), sitemapDomainName)); tinyIoCContainer.Register <IContentRepository, ContentRepository>(); tinyIoCContainer.Register <IContentFinder, ContentFinder>(); tinyIoCContainer.Register <IPathInstanceBuilder, PathInstanceBuilder>(); tinyIoCContainer.Register <IDynamicSourceProvider, DynamicSourceProvider>(); tinyIoCContainer.Register <IPluginContextProvider, PluginContextProvider>(); var sourceTypes = KolaConfigurationRegistry.Plugins.SelectMany(plugin => plugin.SourceTypes).ToArray(); tinyIoCContainer.Register((c, o) => sourceTypes.Select(c.Resolve).Cast <IDynamicSource>()); var contentProviderTypes = KolaConfigurationRegistry.Plugins.SelectMany(plugin => plugin.ContextProviderTypes).ToArray(); tinyIoCContainer.Register((c, o) => contentProviderTypes.Select(c.Resolve).Cast <IContextProvider>()); var container = new TinyIoCAdapter(tinyIoCContainer); var componentSpecifications = KolaConfigurationRegistry.Plugins.SelectMany(plugin => plugin.ComponentTypeSpecifications); KolaConfigurationRegistry.RegisterRenderer(new MultiRenderer(new RendererFactory(componentSpecifications, container))); foreach (var plugin in KolaConfigurationRegistry.Plugins) { plugin.ConfigureContainer(container); } }
public void SetUpBase() { this.ContentRepository = MockRepository.GenerateMock <IContentRepository>(); this.ComponentLibrary = MockRepository.GenerateMock <IComponentSpecificationLibrary>(); this.WidgetRepository = MockRepository.GenerateMock <IWidgetSpecificationRepository>(); this.RendererFactory = MockRepository.GenerateMock <IRendererFactory>(); this.PluginContextProvider = MockRepository.GenerateStub <IPluginContextProvider>(); this.SetUpAtom("atom1"); this.SetUpContainer("container1"); var bootstrapper = new ConfigurableBootstrapper( with => { with.Dependency(this.ContentRepository); with.Dependency(this.ComponentLibrary); with.Dependency(this.WidgetRepository); with.Dependency(this.PluginContextProvider); with.ResponseProcessor <PageInstanceResultProcessor>(); with.ResponseProcessor <ComponentInstanceResultProcessor>(); with.Dependency <RenderingService>(); with.Module <RenderingModule>(); with.ViewEngine <RazorViewEngine>(); with.ViewLocationProvider <ResourceViewLocationProvider>(); ResourceViewLocationProvider.RootNamespaces.Clear(); ResourceViewLocationProvider.RootNamespaces.Add(typeof(KolaNancyBootstrapper).Assembly, "Kola.Nancy"); ResourceViewLocationProvider.RootNamespaces.Add(typeof(ContextBase).Assembly, "Integration.Tests.Nancy.Modules.RenderingModuleTests.Views"); }); KolaConfigurationRegistry.RegisterRenderer(new MultiRenderer(this.RendererFactory)); bootstrapper.BeforeRequest = FakeOwinEnvironment(); this.Browser = new Browser(bootstrapper); }