Пример #1
0
    public void ThrowsWhenMultipleFile()
    {
        using (var files = new TemporaryFileProvider())
        {
            files.Add("Test1.csproj", "");
            files.Add("Test2.csproj", "");
            var finder = new MsBuildProjectFinder(files.Root);

            Assert.Throws <FileNotFoundException>(() => finder.FindMsBuildProject(null));
        }
    }
Пример #2
0
    public void DoesNotMatchXproj()
    {
        using (var files = new TemporaryFileProvider())
        {
            var finder = new MsBuildProjectFinder(files.Root);
            files.Add("test.xproj", "");

            Assert.Throws <FileNotFoundException>(() => finder.FindMsBuildProject(null));
        }
    }
Пример #3
0
    public void FindsSingleProject(string extension)
    {
        using (var files = new TemporaryFileProvider())
        {
            var filename = "TestProject" + extension;
            files.Add(filename, "");

            var finder = new MsBuildProjectFinder(files.Root);

            Assert.Equal(Path.Combine(files.Root, filename), finder.FindMsBuildProject(null));
        }
    }
        public void TestIdentityGenerator_IndividualFiles_ViewImports()
        {
            string runSkippableTests = Environment.GetEnvironmentVariable("SCAFFOLDING_RunSkippableTests");

            Skip.If(string.IsNullOrEmpty(runSkippableTests));

            using (var fileProvider = new TemporaryFileProvider())
            {
                new MsBuildProjectSetupHelper().SetupProjectsForIdentityScaffolder(fileProvider, Output);
                TestProjectPath = Path.Combine(fileProvider.Root, "Root");
                Directory.CreateDirectory(Path.Combine(fileProvider.Root, "Root", "Areas", "Identity", "Pages", "Account"));
                fileProvider.Add("Root/Areas/Identity/Pages/Account/_ViewImports.cshtml", "__");

                var args = new string[]
                {
                    "-p",
                    Path.Combine(TestProjectPath, "Test.csproj"),
                    "-c",
                    Configuration,
                    "identity",
                    "--dbContext",
                    "Test.Data.MyApplicationDbContext",
                    "--files",
                    "Account.Login;Account.Manage.PersonalData"
                };

                Scaffold(args, TestProjectPath);

                var manageViewImportsPath = Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "_ViewImports.cshtml");
                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "Login.cshtml")));
                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "Login.cshtml.cs")));

                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "Manage", "PersonalData.cshtml")));
                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "Manage", "PersonalData.cshtml.cs")));

                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "Manage", "_ViewImports.cshtml")));
                Assert.True(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "Account", "_ViewImports.cshtml")));
                var contents = File.ReadAllText(manageViewImportsPath);
                Assert.False(File.Exists(Path.Combine(TestProjectPath, "Areas", "Identity", "Pages", "_ViewImports.cshtml")));
                Assert.Equal("__", contents);
            }
        }
 private void AddProject(string projectPath, string projectContents, TemporaryFileProvider fileProvider)
 {
     fileProvider.Add(projectPath, projectContents);
 }