public void WhenPrivateValidRegistrations_CanReturnExceptedView()
        {
            //Arrange
            var registrations = FakeModels.Registrations;
            var testViewType  = ViewType.CatsUnderOnwersGender;

            var stubILogger         = StubHelper.StubILogger <ViewsService>();
            var stubViewingServiceA = StubHelper.StubIViewingService;

            stubViewingServiceA.Setup(x => x.ViewSortType)
            .Returns(testViewType);
            stubViewingServiceA.Setup(x => x.SortRegistrations(It.IsAny <List <OwnerInfo> >()))
            .Returns(FakeModels.CatsViewForRender);
            var stubViewingServiceB = StubHelper.StubIViewingService;

            stubViewingServiceB.Setup(x => x.ViewSortType)
            .Returns(ViewType.DogsUnderOnwersGender);
            stubViewingServiceB.Setup(x => x.SortRegistrations(It.IsAny <List <OwnerInfo> >()))
            .Returns(FakeModels.DogsViewForRender);

            var _viewingServices = new List <IViewingService> {
                stubViewingServiceA.Object, stubViewingServiceB.Object
            };

            var testedService = new ViewsService(stubILogger.Object, _viewingServices);

            //Act
            var actual = testedService.ViewRegistrations(registrations, testViewType);

            //Assert
            //the total items of actaul should be equal to the number of cats in the registration
            Assert.Equal(FakeModels.CatsViewForRender.SelectMany(x => x.Items).ToList().Count,
                         actual.SelectMany(x => x.Items).ToList().Count);
        }
        private void InitializeServices()
        {
            Config = GetConfig(ConfigFilePath);

            TypeService = new TypeService();
            TypeService.LoadAllTypes(Config.WebApiModuleFileName);

            EnumsService     = new EnumsService();
            InterfaceService = new InterfaceService();

            EndpointsService        = new EndpointsService();
            AngularEndpointsService = new AngularEndpointsService();

            ViewsService    = new ViewsService();
            ResourceService = new ResourceService();
        }
Exemplo n.º 3
0
        private void InitializeServices()
        {
            Config = GetConfig(ConfigFilePath);

            TypeService = new TypeService();
            LoadAllTypes();

            EnumsService     = new EnumsService();
            InterfaceService = new InterfaceService();

            EndpointsService        = new EndpointsService();
            MobileEndpointsService  = new MobileEndpointsService();
            AngularEndpointsService = new AngularEndpointsService();

            ViewsService    = new ViewsService();
            ResourceService = new ResourceService();
        }
Exemplo n.º 4
0
        public override bool Execute()
        {
            InitializeServices();

            var apiControllers = Config.WebApiModuleFileNames
                                 .SelectMany(f => TypeService.GetControllers(f))
                                 .ToArray();

            if (Config.GenerateViews)
            {
                StartAnalysis("views");

                foreach (var viewsBlock in ViewsService.GetBlocksForViews())
                {
                    CreateFileForBlock(viewsBlock.TypeScriptBlock, Config.ViewsOutputDirectory, viewsBlock.Filename);
                }

                StopAnalysis();
            }

            if (Config.GenerateResources)
            {
                StartAnalysis("resources");

                foreach (var resourceBlock in ResourceService.GetBlocksForResources())
                {
                    CreateFileForBlock(resourceBlock.TypeScriptBlock, Config.ResourcesOutputDirectory, resourceBlock.Filename);
                }

                StopAnalysis();
            }

            if (Config.GenerateEndpoints || Config.GenerateService)
            {
                StartAnalysis("controllers and actions");

                var endpointBlock       = EndpointsService.CreateEndpointBlock();
                var mobileEndpointBlock = MobileEndpointsService.CreateEndpointBlock();
                var serviceBlock        = AngularEndpointsService.CreateServiceBlock();

                foreach (var apiController in apiControllers)
                {
                    var webApiController = new WebApiController(apiController);

                    if (Config.GenerateEndpoints || Config.GenerateService)
                    {
                        EndpointsService.WriteEndpointClassToBlock(endpointBlock, webApiController);
                    }

                    if (Config.GenerateMobileEndpoints && webApiController.Actions.Any(a => a.IsMobileAction))
                    {
                        MobileEndpointsService.WriteEndpointClassToBlock(mobileEndpointBlock, webApiController);
                    }

                    if (Config.GenerateService)
                    {
                        var classBlock = serviceBlock.Children
                                         .OfType <TypeScriptBlock>()
                                         .First();

                        AngularEndpointsService.WriteServiceObjectToBlock(classBlock, webApiController);
                    }
                }

                if (Config.GenerateEndpoints || Config.GenerateService)
                {
                    CreateFileForBlock(endpointBlock, Config.EndpointsOutputDirectory, Config.EndpointsFileName);
                }

                if (Config.GenerateMobileEndpoints)
                {
                    CreateFileForBlock(mobileEndpointBlock, Config.MobileEndpointsOutputDirectory, Config.MobileEndpointsFileName);
                }

                if (Config.GenerateService)
                {
                    CreateFileForBlock(serviceBlock, Config.ServiceOutputDirectory, Config.ServiceFileName);
                }

                StopAnalysis();
            }

            if (Config.GenerateInterfaces)
            {
                StartAnalysis("interfaces");

                var interfacesBlock = InterfaceService.CreateInterfacesBlock();
                InterfaceService.AddMatchingInterfaces();
                InterfaceService.WriteInterfacesToBlock(interfacesBlock);

                StopAnalysis();

                CreateFileForBlock(interfacesBlock, Config.InterfacesOutputDirectory, Config.InterfacesFileName);
            }

            if (Config.GenerateEnums)
            {
                StartAnalysis("enumerations");

                var enumsBlock = EnumsService.CreateEnumsBlock();
                EnumsService.AddMatchingEnums();
                EnumsService.WriteEnumsToBlock(enumsBlock);

                StopAnalysis();

                CreateFileForBlock(enumsBlock, Config.EnumsOutputDirectory, Config.EnumsFileName);
            }

            WriteServiceLogMessages();

            return(true);
        }