public void CreateProject(TemplateSelectionOptions templateOptions,
                                  ProjectDetails projectDetails, GitOptions gitOptions = null, object miscOptions = null)
        {
            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);
        }
Exemplo n.º 2
0
 protected virtual void OnSelectTemplate(NewProjectController newProject, TemplateSelectionOptions templateOptions)
 {
     Assert.IsTrue(newProject.SelectTemplateType(templateOptions.CategoryRoot, templateOptions.Category));
     TakeScreenShot("TemplateCategorySelected");
     Assert.IsTrue(newProject.SelectTemplate(templateOptions.TemplateKindRoot, templateOptions.TemplateKind));
     TakeScreenShot("TemplateSelected");
     Assert.IsTrue(newProject.Next());
     TakeScreenShot("NextAfterTemplateSelected");
 }
 protected virtual void OnClickCreate(NewProjectController newProject, ProjectDetails projectDetails)
 {
     if (projectDetails.AddProjectToExistingSolution)
     {
         newProject.Create();
     }
     else
     {
         Session.RunAndWaitForTimer(() => newProject.Create(), "Ide.Shell.SolutionOpened");
     }
 }
Exemplo n.º 4
0
        public void EnterProjectDetails(NewProjectController newProject, string projectName, string solutionName, string solutionLocation)
        {
            Assert.IsTrue(newProject.SetProjectName(projectName));

            if (!string.IsNullOrEmpty(solutionName))
            {
                Assert.IsTrue(newProject.SetSolutionName(solutionName));
            }

            if (!string.IsNullOrEmpty(solutionLocation))
            {
                Assert.IsTrue(newProject.SetSolutionLocation(solutionLocation));
            }
        }
Exemplo n.º 5
0
        public void CreateProject(TemplateSelectionOptions templateOptions,
                                  ProjectDetails projectDetails, GitOptions gitOptions = null, object miscOptions = null)
        {
            var newProject = new NewProjectController();

            newProject.Open();
            TakeScreenShot("Open");

            OnSelectTemplate(newProject, templateOptions);

            OnEnterTemplateSpecificOptions(newProject, projectDetails.ProjectName, miscOptions);

            OnEnterProjectDetails(newProject, projectDetails, gitOptions, miscOptions);

            OnClickCreate(newProject);
        }
        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");
        }
        protected virtual void OnEnterProjectDetails(NewProjectController newProject, ProjectDetails projectDetails,
                                                     GitOptions gitOptions = null, object miscOptions = null)
        {
            if (!newProject.SetProjectName(projectDetails.ProjectName))
            {
                throw new CreateProjectException(string.Format("Failed at entering ProjectName as '{0}'", projectDetails.ProjectName));
            }

            if (!string.IsNullOrEmpty(projectDetails.SolutionName))
            {
                if (!newProject.SetSolutionName(projectDetails.SolutionName, projectDetails.AddProjectToExistingSolution))
                {
                    throw new CreateProjectException(string.Format("Failed at entering SolutionName as '{0}'", projectDetails.SolutionName));
                }
            }

            if (!string.IsNullOrEmpty(projectDetails.SolutionLocation))
            {
                if (!newProject.SetSolutionLocation(projectDetails.SolutionLocation))
                {
                    throw new CreateProjectException(string.Format("Failed at entering SolutionLocation as '{0}'", projectDetails.SolutionLocation));
                }
            }

            if (!newProject.CreateProjectInSolutionDirectory(projectDetails.ProjectInSolution))
            {
                throw new CreateProjectException(string.Format("Failed at entering ProjectInSolution as '{0}'", projectDetails.ProjectInSolution));
            }

            if (gitOptions != null && !projectDetails.AddProjectToExistingSolution)
            {
                if (!newProject.UseGit(gitOptions))
                {
                    throw new CreateProjectException(string.Format("Failed at setting Git as - '{0}'", gitOptions));
                }
            }

            TakeScreenShot("AfterProjectDetailsFilled");
        }
Exemplo n.º 8
0
        public void CreateBuildProject(string projectName, string categoryRoot, string category, string kindRoot, string kind, Action beforeBuild)
        {
            var    solutionParentDirectory = Util.CreateTmpDir(projectName);
            string actualSolutionDirectory = string.Empty;

            try {
                var newProject = new NewProjectController();
                newProject.Open();

                SelectTemplate(newProject, categoryRoot, category, kindRoot, kind);

                Assert.IsTrue(newProject.Next());

                // Wait until the next page is displayed
                Session.WaitForElement(c => c.Textfield().Marked("solutionNameTextBox"));

                EnterProjectDetails(newProject, projectName, projectName, solutionParentDirectory);

                Assert.IsTrue(newProject.CreateProjectInSolutionDirectory(false));
                Assert.IsTrue(newProject.UseGit(true, false));

                Session.RunAndWaitForTimer(() => newProject.Next(), "Ide.Shell.SolutionOpened");

                actualSolutionDirectory = GetSolutionDirectory();

                beforeBuild();

                Assert.IsTrue(Ide.BuildSolution());
            } finally {
                Ide.CloseAll();
                try {
                    if (Directory.Exists(actualSolutionDirectory))
                    {
                        Directory.Delete(actualSolutionDirectory, true);
                    }
                } catch (IOException) { }
            }
        }
Exemplo n.º 9
0
        protected virtual void OnEnterProjectDetails(NewProjectController newProject, ProjectDetails projectDetails,
                                                     GitOptions gitOptions = null, object miscOptions = null)
        {
            Assert.IsTrue(newProject.SetProjectName(projectDetails.ProjectName));

            if (!string.IsNullOrEmpty(projectDetails.SolutionName))
            {
                Assert.IsTrue(newProject.SetSolutionName(projectDetails.SolutionName));
            }

            if (!string.IsNullOrEmpty(projectDetails.SolutionLocation))
            {
                Assert.IsTrue(newProject.SetSolutionLocation(projectDetails.SolutionLocation));
            }

            Assert.IsTrue(newProject.CreateProjectInSolutionDirectory(projectDetails.ProjectInSolution));

            if (gitOptions != null)
            {
                Assert.IsTrue(newProject.UseGit(gitOptions));
            }

            TakeScreenShot("AfterProjectDetailsFilled");
        }
		protected virtual void OnClickCreate (NewProjectController newProject, ProjectDetails projectDetails)
		{
			if (projectDetails.AddProjectToExistingSolution)
				newProject.Create ();
			else
				Session.RunAndWaitForTimer (() => newProject.Create (), "Ide.Shell.SolutionOpened");
		}
		protected virtual void OnEnterProjectDetails (NewProjectController newProject, ProjectDetails projectDetails,
			GitOptions gitOptions = null, object miscOptions = null)
		{
			if (!newProject.SetProjectName (projectDetails.ProjectName, projectDetails.AddProjectToExistingSolution)) {
				throw new CreateProjectException (string.Format ("Failed at entering ProjectName as '{0}'", projectDetails.ProjectName));
			}

			if (!string.IsNullOrEmpty (projectDetails.SolutionName)) {
				if (!newProject.SetSolutionName (projectDetails.SolutionName, projectDetails.AddProjectToExistingSolution)) {
					throw new CreateProjectException (string.Format ("Failed at entering SolutionName as '{0}'", projectDetails.SolutionName));
				}
			}

			if (!string.IsNullOrEmpty (projectDetails.SolutionLocation)) {
				if (!newProject.SetSolutionLocation (projectDetails.SolutionLocation)) {
					throw new CreateProjectException (string.Format ("Failed at entering SolutionLocation as '{0}'", projectDetails.SolutionLocation));
				}
			}

			if (!newProject.CreateProjectInSolutionDirectory (projectDetails.ProjectInSolution)) {
				throw new CreateProjectException (string.Format ("Failed at entering ProjectInSolution as '{0}'", projectDetails.ProjectInSolution));
			}

			if (gitOptions != null && !projectDetails.AddProjectToExistingSolution) {
				if (!newProject.UseGit (gitOptions)) {
					throw new CreateProjectException (string.Format ("Failed at setting Git as - '{0}'", gitOptions));
				}
			}

			TakeScreenShot ("AfterProjectDetailsFilled");
		}
		protected virtual void OnEnterTemplateSpecificOptions (NewProjectController newProject, string projectName, object miscOptions) {}
		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");
		}
		public void CreateProject (TemplateSelectionOptions templateOptions,
			ProjectDetails projectDetails, GitOptions gitOptions = null, object miscOptions = null)
		{
			PrintToTestRunner (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);
		}
Exemplo n.º 15
0
 protected virtual void OnClickCreate(NewProjectController newProject)
 {
     Session.RunAndWaitForTimer(() => newProject.Next(), "Ide.Shell.SolutionOpened");
 }
		protected virtual void OnSelectTemplate (NewProjectController newProject, TemplateSelectionOptions templateOptions)
		{
			Assert.IsTrue (newProject.SelectTemplateType (templateOptions.CategoryRoot, templateOptions.Category));
			TakeScreenShot ("TemplateCategorySelected");
			Assert.IsTrue (newProject.SelectTemplate (templateOptions.TemplateKindRoot, templateOptions.TemplateKind));
			TakeScreenShot ("TemplateSelected");
			Assert.IsTrue (newProject.Next ());
			TakeScreenShot ("NextAfterTemplateSelected");
		}
 protected virtual void OnEnterTemplateSpecificOptions(NewProjectController newProject, string projectName, object miscOptions)
 {
 }
		protected virtual void OnEnterProjectDetails (NewProjectController newProject, ProjectDetails projectDetails,
			GitOptions gitOptions = null, object miscOptions = null)
		{
			Assert.IsTrue (newProject.SetProjectName (projectDetails.ProjectName));

			if (!string.IsNullOrEmpty (projectDetails.SolutionName)) {
				Assert.IsTrue (newProject.SetSolutionName (projectDetails.SolutionName));
			}

			if (!string.IsNullOrEmpty (projectDetails.SolutionLocation)) {
				Assert.IsTrue (newProject.SetSolutionLocation (projectDetails.SolutionLocation));
			}

			Assert.IsTrue (newProject.CreateProjectInSolutionDirectory (projectDetails.ProjectInSolution));

			if (gitOptions != null)
				Assert.IsTrue (newProject.UseGit (gitOptions));

			TakeScreenShot ("AfterProjectDetailsFilled");
		}
		public void CreateProject (TemplateSelectionOptions templateOptions,
			ProjectDetails projectDetails, GitOptions gitOptions = null, object miscOptions = null)
		{
			var newProject = new NewProjectController ();
			newProject.Open ();
			TakeScreenShot ("Open");

			OnSelectTemplate (newProject, templateOptions);

			OnEnterTemplateSpecificOptions (newProject, projectDetails.ProjectName, miscOptions);

			OnEnterProjectDetails (newProject, projectDetails, gitOptions, miscOptions);

			OnClickCreate (newProject);
		}
		protected virtual void OnClickCreate (NewProjectController newProject)
		{
			Session.RunAndWaitForTimer (() => newProject.Next(), "Ide.Shell.SolutionOpened");
		}
Exemplo n.º 21
0
 public void SelectTemplate(NewProjectController newProject, string categoryRoot, string category, string kindRoot, string kind)
 {
     Assert.IsTrue(newProject.SelectTemplateType(categoryRoot, category));
     Assert.IsTrue(newProject.SelectTemplate(kindRoot, kind));
 }
		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);
		}