Example #1
0
        public RouteTranslationBuilder AddDefaultTranslation()
        {
            ICollection <string> currentCultures = CurrentCultures;

            foreach (string culture in currentCultures)
            {
                CurrentCultures = new[] { culture };

                IRouteProcessor routeProcessor =
                    new CopyTemplateRouteProcessor(RouteTranslationConfiguration,
                                                   LoggerFactory.CreateLogger <CopyTemplateRouteProcessor>())
                {
                    Culture = culture,
                };

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

            CurrentCultures = currentCultures;

            return(this);
        }
        public void BuildWithControllerSelectionBuildsCorrectTranslation()
        {
            CopyTemplateRouteProcessor routeProcessor = CreateRouteProcessor();

            routeProcessor.Culture = TranslateControllerRouteProcessorBuilderTest.Culture;

            ApplicationModel applicationModel = TestApplicationModel.Instance;

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

            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 == 2);
            Assert.IsTrue(translatedController.Selectors.First().AttributeRouteModel.Template ==
                          $"[{TranslateControllerRouteProcessorBuilderTest.CultureKey}]/Controller1");
            Assert.IsTrue(translatedController.Selectors.Last().AttributeRouteModel.Template ==
                          $"[{TranslateControllerRouteProcessorBuilderTest.CultureKey}]/Controller11");
            Assert.IsTrue(translatedController.Actions.First().Selectors.Count == 0);
        }