public async void GenerateAllPagesAndFeaturesRandomNames(string projectType, string framework) { var targetProjectTemplate = GenerationFixture.Templates.FirstOrDefault(t => t.GetTemplateType() == TemplateType.Project && t.GetProjectTypeList().Contains(projectType) && t.GetFrameworkList().Contains(framework) && !t.GetIsHidden()); var projectName = $"{projectType}{framework}AllRandom"; ProjectName = projectName; ProjectPath = Path.Combine(_fixture.TestProjectsPath, projectName, projectName); OutputPath = ProjectPath; var userSelection = GenerationFixture.SetupProject(projectType, framework); GenerationFixture.AddItems(userSelection, GenerationFixture.GetTemplates(framework), GenerationFixture.GetRandomName); await NewProjectGenController.Instance.UnsafeGenerateProjectAsync(userSelection); //Build solution var outputPath = Path.Combine(_fixture.TestProjectsPath, projectName); var result = GenerationFixture.BuildSolution(projectName, outputPath); //Assert Assert.True(result.exitCode.Equals(0), $"Solution {targetProjectTemplate.Name} was not built successfully. {Environment.NewLine}Errors found: {GenerationFixture.GetErrorLines(result.outputFile)}.{Environment.NewLine}Please see {Path.GetFullPath(result.outputFile)} for more details."); //Clean Directory.Delete(outputPath, true); }
public async void GenerateEmptyProject(string projectType, string framework) { var projectName = $"{projectType}{framework}"; ProjectName = projectName; ProjectPath = Path.Combine(_fixture.TestNewItemPath, projectName, projectName); OutputPath = ProjectPath; var userSelection = GenerationFixture.SetupProject(projectType, framework); await NewProjectGenController.Instance.UnsafeGenerateProjectAsync(userSelection); //Add new item var rightClickTemplates = GenerationFixture.Templates.Where (t => (t.GetTemplateType() == TemplateType.Feature || t.GetTemplateType() == TemplateType.Page) && t.GetFrameworkList().Contains(framework) && (!t.GetIsHidden()) && t.GetRightClickEnabled()); foreach (var item in rightClickTemplates) { OutputPath = GetTempGenerationPath(projectName); var newUserSelection = new UserSelection() { ProjectType = projectType, Framework = framework, HomeName = "", ItemGenerationType = ItemGenerationType.GenerateAndMerge }; GenerationFixture.AddItem(newUserSelection, item, GenerationFixture.GetDefaultName); await NewItemGenController.Instance.UnsafeGenerateNewItemAsync(item.GetTemplateType(), newUserSelection); NewItemGenController.Instance.UnsafeFinishGeneration(newUserSelection); } //Build solution var outputPath = Path.Combine(_fixture.TestNewItemPath, projectName); var result = GenerationFixture.BuildSolution(projectName, outputPath); //Assert Assert.True(result.exitCode.Equals(0), $"Solution {projectName} was not built successfully. {Environment.NewLine}Errors found: {GenerationFixture.GetErrorLines(result.outputFile)}.{Environment.NewLine}Please see {Path.GetFullPath(result.outputFile)} for more details."); //Clean Directory.Delete(outputPath, true); }
public async void GenerateProjectWithIsolatedItems(string itemName, string projectType, string framework, string itemId) { var projectTemplate = GenerationFixture.Templates.FirstOrDefault(t => t.GetTemplateType() == TemplateType.Project && t.GetProjectTypeList().Contains(projectType) && t.GetFrameworkList().Contains(framework)); var itemTemplate = GenerationFixture.Templates.FirstOrDefault(t => t.Identity == itemId); var finalName = itemTemplate.GetDefaultName(); var validators = new List <Validator>() { new ReservedNamesValidator(), }; if (itemTemplate.GetItemNameEditable()) { validators.Add(new DefaultNamesValidator()); } finalName = Naming.Infer(finalName, validators); var projectName = $"{projectType}{framework}{finalName}"; ProjectName = projectName; ProjectPath = Path.Combine(_fixture.TestProjectsPath, projectName, projectName); OutputPath = ProjectPath; var userSelection = GenerationFixture.SetupProject(projectType, framework); GenerationFixture.AddItem(userSelection, itemTemplate, GenerationFixture.GetDefaultName); await NewProjectGenController.Instance.UnsafeGenerateProjectAsync(userSelection); //Build solution var outputPath = Path.Combine(_fixture.TestProjectsPath, projectName); var result = GenerationFixture.BuildSolution(projectName, outputPath); //Assert Assert.True(result.exitCode.Equals(0), $"Solution {projectTemplate.Name} was not built successfully. {Environment.NewLine}Errors found: {GenerationFixture.GetErrorLines(result.outputFile)}.{Environment.NewLine}Please see {Path.GetFullPath(result.outputFile)} for more details."); //Clean Directory.Delete(outputPath, true); }