public void ApiControllerWithActionsScaffolder() { var args = new ScaffolderArgs(); args.ParentFolder = "/MyProject/Controllers"; using var project = CreateProject(); args.Project = project; var scaffolder = new ApiControllerWithActionsScaffolder(args); args.Scaffolder = scaffolder; var wizard = new ScaffolderWizard(project, args.ParentFolder); var commandLineArgs = wizard.GetArguments(args); commandLineArgs = Regex.Replace(commandLineArgs, @"\s+", " ").TrimEnd(); Assert.AreEqual(@"aspnet-codegenerator --project ""ProjectName.csproj"" controller -name --no-build -outDir ""/MyProject/Controllers"" --controllerNamespace ProjectName --restWithNoViews --readWriteActions", commandLineArgs); }
public async void Scaffold() { var project = IdeApp.ProjectOperations.CurrentSelectedProject as DotNetProject; if (project == null) { return; } var folder = CurrentNode.GetParentDataItem(typeof(ProjectFolder), true) as ProjectFolder; string parentFolder = folder?.Path ?? project.BaseDirectory; Xwt.Toolkit.NativeEngine.Invoke(() => { var w = new ScaffolderWizard(project, parentFolder); var res = w.RunWizard(); }); }
public void RazorPageScaffolder() { var args = new ScaffolderArgs(); args.ParentFolder = "/MyProject/Pages"; using var project = CreateProject(); args.Project = project; var scaffolder = new RazorPageScaffolder(args); args.Scaffolder = scaffolder; scaffolder.GetField("Name of the Razor Page").SelectedValue = "PageName"; var wizard = new ScaffolderWizard(project, args.ParentFolder); var commandLineArgs = wizard.GetArguments(args); commandLineArgs = Regex.Replace(commandLineArgs, @"\s+", " "); Assert.AreEqual(@"aspnet-codegenerator --project ""ProjectName.csproj"" razorpage PageName Empty --referenceScriptLibraries --no-build -outDir ""/MyProject/Pages"" --namespaceName ProjectName", commandLineArgs); }
public void EmptyMvcControllerScaffolder() { var args = new ScaffolderArgs(); args.ParentFolder = "/MyProject/Controllers"; using var project = CreateProject(); args.Project = project; var scaffolder = new EmptyMvcControllerScaffolder(args); args.Scaffolder = scaffolder; scaffolder.GetField("Controller name:").SelectedValue = "ControllerName"; var wizard = new ScaffolderWizard(project, args.ParentFolder); var commandLineArgs = wizard.GetArguments(args); commandLineArgs = Regex.Replace(commandLineArgs, @"\s+", " "); Assert.AreEqual(@"aspnet-codegenerator --project ""ProjectName.csproj"" controller -name ControllerName --no-build -outDir ""/MyProject/Controllers"" --controllerNamespace ProjectName", commandLineArgs); }
public void ApiControllerEntityFrameworkScaffolder() { var args = new ScaffolderArgs(); args.ParentFolder = "/MyProject/Controllers"; using var project = CreateProject(); args.Project = project; var scaffolder = new ApiControllerEntityFrameworkScaffolder(args); args.Scaffolder = scaffolder; scaffolder.GetField("Model class to use").SelectedValue = "ModelClass"; scaffolder.GetField("DbContext class to use").SelectedValue = "DataContext"; var wizard = new ScaffolderWizard(project, args.ParentFolder); var commandLineArgs = wizard.GetArguments(args); commandLineArgs = Regex.Replace(commandLineArgs, @"\s+", " ").TrimEnd(); Assert.AreEqual(@"aspnet-codegenerator --project ""ProjectName.csproj"" controller --model ModelClass --dataContext DataContext -name --no-build -outDir ""/MyProject/Controllers"" --controllerNamespace ProjectName", commandLineArgs); }
public void RazorPageEntityFrameworkCrudScaffolder() { var args = new ScaffolderArgs(); args.ParentFolder = "/MyProject/Pages"; using var project = CreateProject(); args.Project = project; var scaffolder = new RazorPageEntityFrameworkCrudScaffolder(args); args.Scaffolder = scaffolder; // no name field scaffolder.GetField("Model class to use").SelectedValue = "ModelClass"; scaffolder.GetField("DbContext class to use").SelectedValue = "DataContext"; var wizard = new ScaffolderWizard(project, args.ParentFolder); var commandLineArgs = wizard.GetArguments(args); commandLineArgs = Regex.Replace(commandLineArgs, @"\s+", " "); Assert.AreEqual(@"aspnet-codegenerator --project ""ProjectName.csproj"" razorpage --model ModelClass --dataContext DataContext --referenceScriptLibraries --no-build -outDir ""/MyProject/Pages"" --namespaceName ProjectName", commandLineArgs); }