public void CreateProject(TemplateSelectionOptions templateOptions,
                                  ProjectDetails projectDetails, GitOptions gitOptions = null, object miscOptions = null)
        {
            PrintToTestRunner(templateOptions, projectDetails, gitOptions, miscOptions);
            ReproStep("Create a new project", templateOptions, projectDetails, gitOptions, miscOptions);
            var newProject = new NewProjectController();

            if (projectDetails.AddProjectToExistingSolution)
            {
                newProject.Open(projectDetails.SolutionName);
            }
            else
            {
                newProject.Open();
            }
            TakeScreenShot("Open");

            OnSelectTemplate(newProject, templateOptions);

            OnEnterTemplateSpecificOptions(newProject, projectDetails.ProjectName, miscOptions);

            OnEnterProjectDetails(newProject, projectDetails, gitOptions, miscOptions);

            OnClickCreate(newProject, projectDetails);

            FoldersToClean.Add(projectDetails.SolutionLocation);
        }
 void PrintToTestRunner(TemplateSelectionOptions templateOptions,
                        ProjectDetails projectDetails, GitOptions gitOptions, object miscOptions)
 {
     templateOptions.PrintData();
     projectDetails.PrintData();
     gitOptions.PrintData();
     miscOptions.PrintData();
 }
        public void CreateBuildProject(TemplateSelectionOptions templateOptions, Action beforeBuild,
                                       GitOptions gitOptions = null, object miscOptions = null)
        {
            var projectName    = GenerateProjectName(templateOptions.TemplateKind);
            var projectDetails = new ProjectDetails {
                ProjectName       = projectName,
                SolutionName      = projectName,
                SolutionLocation  = Util.CreateTmpDir(),
                ProjectInSolution = true
            };

            CreateBuildProject(templateOptions, projectDetails, beforeBuild, gitOptions, miscOptions);
        }
        protected void IsTemplateSelected(TemplateSelectionOptions templateOptions, string addToExistingSolution = null)
        {
//			var newProject = new NewProjectController ();
//			try {
//				newProject.WaitForOpen ();
//			} catch (TimeoutException) {
//				if (!string.IsNullOrEmpty (addToExistingSolution))
//					newProject.Open (addToExistingSolution);
//				else
//					newProject.Open ();
//			}
//			newProject.IsSelected (templateOptions);
        }
        public void CreateBuildProject(TemplateSelectionOptions templateOptions, ProjectDetails projectDetails,
                                       Action beforeBuild, GitOptions gitOptions = null, object miscOptions = null)
        {
            try {
                CreateProject(templateOptions, projectDetails, gitOptions, miscOptions);

                try {
                    beforeBuild();
                    TakeScreenShot("BeforeBuild");
                } catch (TimeoutException e) {
                    TakeScreenShot("BeforeBuildActionFailed");
                    Assert.Fail(e.ToString());
                }
                OnBuildTemplate((int)projectDetails.BuildTimeout.TotalSeconds);
            } catch (Exception e) {
                TakeScreenShot("TestFailedWithGenericException");
                Assert.Fail(e.ToString());
            } finally {
                FoldersToClean.Add(projectDetails.SolutionLocation);
            }
        }
        protected virtual void OnSelectTemplate(NewProjectController newProject, TemplateSelectionOptions templateOptions)
        {
            if (!newProject.SelectTemplateType(templateOptions.CategoryRoot, templateOptions.Category))
            {
                throw new TemplateSelectionException(string.Format("Failed to select Category '{0}' under '{1}'",
                                                                   templateOptions.Category, templateOptions.CategoryRoot));
            }
            TakeScreenShot("TemplateCategorySelected");

            if (!newProject.SelectTemplate(templateOptions.TemplateKindRoot, templateOptions.TemplateKind))
            {
                throw new TemplateSelectionException(string.Format("Failed to select Template '{0}' under '{1}'",
                                                                   templateOptions.TemplateKind, templateOptions.TemplateKindRoot));
            }
            TakeScreenShot("TemplateSelected");

            if (!newProject.Next())
            {
                throw new TemplateSelectionException("Clicking Next failed after selecting template");
            }
            TakeScreenShot("NextAfterTemplateSelected");
        }
Exemplo n.º 7
0
 public ProjectDetails(TemplateSelectionOptions templateData) : this()
 {
     ProjectName  = CreateBuildTemplatesTestBase.GenerateProjectName(templateData.TemplateKind);
     SolutionName = ProjectName;
 }