public void BuildWithMultipleSelectionBuildsThrowsException()
        {
            TranslateActionRouteProcessor routeProcessor = CreateRouteProcessor();

            routeProcessor.Culture  = TranslateControllerRouteProcessorBuilderTest.Culture;
            routeProcessor.Template = "template";

            ApplicationModel applicationModel = TestApplicationModel.Instance;

            List <RouteSelection> routeSelections = new List <RouteSelection>()
            {
                new RouteSelection()
                {
                    ControllerModel = applicationModel.Controller1(),
                    ActionModels    = applicationModel.Controller1().Actions.Take(1).ToList(),
                },
                new RouteSelection()
                {
                    ControllerModel = applicationModel.Controller2(),
                    ActionModels    = applicationModel.Controller2().Actions.Take(1).ToList(),
                },
            };

            routeProcessor.Process(routeSelections);
        }
        public void BuildWithControllerActionsSelectionBuildsCorrectTranslation3()
        {
            TranslateActionRouteProcessor routeProcessor = CreateRouteProcessor();

            routeProcessor.Culture  = TranslateControllerRouteProcessorBuilderTest.Culture;
            routeProcessor.Template = "template";

            ApplicationModel applicationModel = TestApplicationModel.Instance;

            List <RouteSelection> routeSelections = new List <RouteSelection>()
            {
                new RouteSelection()
                {
                    ControllerModel = applicationModel.Controller1(),
                    ActionModels    = applicationModel.Controller1().Actions.Skip(1).Take(2).ToList(),
                },
            };

            routeProcessor.Process(routeSelections);

            ControllerModel translatedController =
                applicationModel.Controllers.Last(controller => controller.ControllerName == "Controller1");

            Assert.IsTrue(applicationModel.Controllers.Count(controller => controller.ControllerName == "Controller1") == 2);
            Assert.IsTrue(translatedController.Selectors.Count == 0);
            Assert.IsTrue(translatedController.Actions.Skip(1).First().Selectors.Count == 1);
            Assert.IsTrue(translatedController.Actions.Skip(2).First().Selectors.Count == 1);
            Assert.IsTrue(translatedController.Actions.Skip(1).First().Selectors.First().AttributeRouteModel.Template ==
                          "template");
            Assert.IsTrue(translatedController.Actions.Skip(2).First().Selectors.Last().AttributeRouteModel.Template ==
                          "template");
        }
Beispiel #3
0
        public RouteTranslationBuilder TranslateAction(string template)
        {
            IRouteProcessor routeProcessor = new TranslateActionRouteProcessor(RouteTranslationConfiguration,
                                                                               LoggerFactory.CreateLogger <TranslateActionRouteProcessor>())
            {
                Culture  = CurrentCultures.Single(),
                Template = template,
            };

            RouteTranslationStore.Add(new RouteSelectorProcessorPair
            {
                Selector  = CurrentRouteSelectorFunc(),
                Processor = routeProcessor,
            });

            return(this);
        }
        public void BuildWithControllerWithoutActionsSelectionThrowsException()
        {
            TranslateActionRouteProcessor routeProcessor = CreateRouteProcessor();

            routeProcessor.Culture  = TranslateControllerRouteProcessorBuilderTest.Culture;
            routeProcessor.Template = "template";

            ApplicationModel applicationModel = TestApplicationModel.Instance;

            List <RouteSelection> routeSelections = new List <RouteSelection>()
            {
                new RouteSelection()
                {
                    ControllerModel = applicationModel.Controller1(),
                },
            };

            routeProcessor.Process(routeSelections);
        }