public void RegisterModuleServicesRegistersIBusinessPresentationConverterForOrders()
        {
            TestableModuleInitializer module            = new TestableModuleInitializer();
            MockServiceCollection     serviceCollection = new MockServiceCollection();

            module.TestAddModuleServices(serviceCollection);

            Assert.IsTrue(serviceCollection.RegistedServices.ContainsKey(typeof(IBusinessPresentationConverter <Order, OrderInfo>)));
        }
        public void RegisterModuleServicesRegistersIProductService()
        {
            TestableModuleInitializer module            = new TestableModuleInitializer();
            MockServiceCollection     serviceCollection = new MockServiceCollection();

            module.TestAddModuleServices(serviceCollection);

            Assert.IsTrue(serviceCollection.RegistedServices.ContainsKey(typeof(IProductService)));
        }
        public void RegisterGlobalServicesRegistersNoServices()
        {
            TestableModuleInitializer module            = new TestableModuleInitializer();
            MockServiceCollection     serviceCollection = new MockServiceCollection();

            module.TestAddGlobalServices(serviceCollection);

            Assert.AreEqual(0, serviceCollection.RegistedServices.Count);
        }
        public void OrdersGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService     siteMapBuilder    = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo node = siteMapBuilder.GetChildren(siteMapBuilder.RootNode.Key)[0];

            Assert.AreEqual("Orders", node.Key);
        }
        public void ConfigureShouldNotThrowExceptionIfAuthorizationServicesIsNotLoaded()
        {
            MockServiceCollection collection = new MockServiceCollection();

            TestableModuleInitializer module = new TestableModuleInitializer();
            module.Configure(collection, ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None));

            MockAuthorizationRulesService authRulesServices =
                (MockAuthorizationRulesService)collection.Get<IAuthorizationRulesService>();

            Assert.IsNull(authRulesServices);
        }
        public void LoadRegistersTypeMappingForController()
        {
            TestableRootCompositionContainer parentContainer   = new TestableRootCompositionContainer();
            TestableRootCompositionContainer container         = parentContainer.Containers.AddNew <TestableRootCompositionContainer>("TEST");
            TestableModuleInitializer        moduleInitializer = new TestableModuleInitializer();

            container.Services.Add <IHttpContextLocatorService>(new MockHttpContextLocatorService());
            container.Services.Add <ISiteMapBuilderService>(new MockSiteMapBuilderService());

            moduleInitializer.Load(container);

            Assert.AreEqual(typeof(OrdersController), container.GetMappedType(typeof(IOrdersController)));
        }
        public void ConfigureShouldNotThrowExceptionIfAuthorizationServicesIsNotLoaded()
        {
            MockServiceCollection collection = new MockServiceCollection();

            TestableModuleInitializer module = new TestableModuleInitializer();

            module.Configure(collection, ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None));

            MockAuthorizationRulesService authRulesServices =
                (MockAuthorizationRulesService)collection.Get <IAuthorizationRulesService>();

            Assert.IsNull(authRulesServices);
        }
        public void LoadCallsAddModuleServices()
        {
            TestableRootCompositionContainer parentContainer   = new TestableRootCompositionContainer();
            TestableRootCompositionContainer container         = parentContainer.Containers.AddNew <TestableRootCompositionContainer>("TEST");
            TestableModuleInitializer        moduleInitializer = new TestableModuleInitializer();

            ISiteMapBuilderService     siteMapBuilder = new MockSiteMapBuilderService();
            IHttpContextLocatorService contextLocator = new MockHttpContextLocatorService();

            container.Services.Add <IHttpContextLocatorService>(contextLocator);
            container.Services.Add <ISiteMapBuilderService>(siteMapBuilder);

            moduleInitializer.Load(container);


            Assert.IsTrue(moduleInitializer.AddModuleServicesWasCalled);
        }
        public void ConfigureShouldRegisterAuthorizationRules()
        {
            MockServiceCollection collection = new MockServiceCollection();

            collection.Add(typeof(IAuthorizationRulesService), new MockAuthorizationRulesService());

            TestableModuleInitializer module = new TestableModuleInitializer();

            module.Configure(collection, ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None));

            MockAuthorizationRulesService authRulesServices =
                (MockAuthorizationRulesService)collection.Get <IAuthorizationRulesService>();

            Assert.AreEqual(1, authRulesServices.RegisteredAuthorizationRules.Count);
            Assert.IsTrue(authRulesServices.RegisteredAuthorizationRules.ContainsKey("Default.aspx"));
            Assert.AreEqual("MockRule01", authRulesServices.RegisteredAuthorizationRules["Default.aspx"]);
        }
        public void OrdersActionsGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService     siteMapBuilder    = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo nodeCreateNewOrder = siteMapBuilder.GetChildren("Orders")[0];

            Assert.AreEqual("CreateNewOrder", nodeCreateNewOrder.Key);

            SiteMapNodeInfo nodeMySavedDrafts = siteMapBuilder.GetChildren("Orders")[1];

            Assert.AreEqual("MySavedDrafts", nodeMySavedDrafts.Key);

            SiteMapNodeInfo nodeMyApprovals = siteMapBuilder.GetChildren("Orders")[2];

            Assert.AreEqual("MyApprovals", nodeMyApprovals.Key);

            SiteMapNodeInfo nodeSearchOrder = siteMapBuilder.GetChildren("Orders")[3];

            Assert.AreEqual("SearchOrder", nodeSearchOrder.Key);
        }
        public void LoadRegistersTypeMappingForController()
        {
            TestableRootCompositionContainer parentContainer = new TestableRootCompositionContainer();
            TestableRootCompositionContainer container = parentContainer.Containers.AddNew<TestableRootCompositionContainer>("TEST");
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            container.Services.Add<IHttpContextLocatorService>(new MockHttpContextLocatorService());
            container.Services.Add<ISiteMapBuilderService>(new MockSiteMapBuilderService());

            moduleInitializer.Load(container);

            Assert.AreEqual(typeof(OrdersController), container.GetMappedType(typeof(IOrdersController)));
        }
        public void OrdersGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo node = siteMapBuilder.GetChildren(siteMapBuilder.RootNode.Key)[0];
            Assert.AreEqual("Orders", node.Key);
        }
        public void RegisterGlobalServicesRegistersNoServices()
        {
            TestableModuleInitializer module = new TestableModuleInitializer();
            MockServiceCollection serviceCollection = new MockServiceCollection();

            module.TestAddGlobalServices(serviceCollection);

            Assert.AreEqual(0, serviceCollection.RegistedServices.Count);
        }
        public void RegisterModuleServicesRegistersIBusinessPresentationConverterForOrders()
        {
            TestableModuleInitializer module = new TestableModuleInitializer();
            MockServiceCollection serviceCollection = new MockServiceCollection();

            module.TestAddModuleServices(serviceCollection);

            Assert.IsTrue(serviceCollection.RegistedServices.ContainsKey(typeof(IBusinessPresentationConverter<Order, OrderInfo>)));
        }
        public void RegisterModuleServicesRegistersIProductService()
        {
            TestableModuleInitializer module = new TestableModuleInitializer();
            MockServiceCollection serviceCollection = new MockServiceCollection();

            module.TestAddModuleServices(serviceCollection);

            Assert.IsTrue(serviceCollection.RegistedServices.ContainsKey(typeof(IProductService)));
        }
        public void ConfigureShouldRegisterAuthorizationRules()
        {
            MockServiceCollection collection = new MockServiceCollection();
            collection.Add(typeof(IAuthorizationRulesService), new MockAuthorizationRulesService());

            TestableModuleInitializer module = new TestableModuleInitializer();
            module.Configure(collection, ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None));

            MockAuthorizationRulesService authRulesServices =
                (MockAuthorizationRulesService)collection.Get<IAuthorizationRulesService>();

            Assert.AreEqual(1, authRulesServices.RegisteredAuthorizationRules.Count);
            Assert.IsTrue(authRulesServices.RegisteredAuthorizationRules.ContainsKey("Default.aspx"));
            Assert.AreEqual("MockRule01", authRulesServices.RegisteredAuthorizationRules["Default.aspx"]);
        }
        public void OrdersActionsGetsRegisteredOnSiteMap()
        {
            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            SiteMapBuilderService siteMapBuilder = new SiteMapBuilderService();

            moduleInitializer.TestRegisterSiteMapInformation(siteMapBuilder);

            SiteMapNodeInfo nodeCreateNewOrder = siteMapBuilder.GetChildren("Orders")[0];
            Assert.AreEqual("CreateNewOrder", nodeCreateNewOrder.Key);

            SiteMapNodeInfo nodeMySavedDrafts = siteMapBuilder.GetChildren("Orders")[1];
            Assert.AreEqual("MySavedDrafts", nodeMySavedDrafts.Key);

            SiteMapNodeInfo nodeMyApprovals = siteMapBuilder.GetChildren("Orders")[2];
            Assert.AreEqual("MyApprovals", nodeMyApprovals.Key);

            SiteMapNodeInfo nodeSearchOrder = siteMapBuilder.GetChildren("Orders")[3];
            Assert.AreEqual("SearchOrder", nodeSearchOrder.Key);
        }
        public void LoadCallsAddGlobalServices()
        {
            TestableRootCompositionContainer parentContainer = new TestableRootCompositionContainer();
            TestableRootCompositionContainer container = parentContainer.Containers.AddNew<TestableRootCompositionContainer>("TEST");

            TestableModuleInitializer moduleInitializer = new TestableModuleInitializer();
            ISiteMapBuilderService siteMapBuilder = new MockSiteMapBuilderService();
            IHttpContextLocatorService contextLocator = new MockHttpContextLocatorService();
            container.Services.Add<IHttpContextLocatorService>(contextLocator);
            container.Services.Add<ISiteMapBuilderService>(siteMapBuilder);

            moduleInitializer.Load(container);

            Assert.IsTrue(moduleInitializer.AddGlobalServicesWasCalled);
        }