70 lines
3.1 KiB
C#
70 lines
3.1 KiB
C#
using Xunit;
|
|
|
|
namespace Templates.Test
|
|
{
|
|
public class MvcTemplateTest : TemplateTestBase
|
|
{
|
|
[Theory]
|
|
[InlineData(/* netcoreapp */ null, /* C# */ null)]
|
|
[InlineData("net461", /* C# */ null)]
|
|
[InlineData(/* netcoreapp */ null, "F#")]
|
|
[InlineData("net461", "F#")]
|
|
public void MvcTemplate_NoAuth_Works(string targetFrameworkOverride, string languageOverride)
|
|
{
|
|
RunDotNetNew("mvc", targetFrameworkOverride, language: languageOverride);
|
|
|
|
AssertDirectoryExists("Areas", false);
|
|
AssertDirectoryExists("Extensions", false);
|
|
AssertFileExists("urlRewrite.config", false);
|
|
AssertFileExists("Controllers/AccountController.cs", false);
|
|
|
|
var projectExtension = languageOverride == "F#" ? "fsproj" : "csproj";
|
|
var projectFileContents = ReadFile($"{ProjectName}.{projectExtension}");
|
|
Assert.DoesNotContain(".db", projectFileContents);
|
|
Assert.DoesNotContain("Microsoft.EntityFrameworkCore.Tools", projectFileContents);
|
|
Assert.DoesNotContain("Microsoft.VisualStudio.Web.CodeGeneration.Design", projectFileContents);
|
|
Assert.DoesNotContain("Microsoft.EntityFrameworkCore.Tools.DotNet", projectFileContents);
|
|
Assert.DoesNotContain("Microsoft.Extensions.SecretManager.Tools", projectFileContents);
|
|
|
|
foreach (var publish in new[] { false, true })
|
|
{
|
|
using (var aspNetProcess = StartAspNetProcess(targetFrameworkOverride, publish))
|
|
{
|
|
aspNetProcess.AssertOk("/");
|
|
aspNetProcess.AssertOk("/Home/About");
|
|
aspNetProcess.AssertOk("/Home/Contact");
|
|
}
|
|
}
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(null)]
|
|
[InlineData("net461")]
|
|
public void MvcTemplate_IndividualAuth_Works(string targetFrameworkOverride)
|
|
{
|
|
RunDotNetNew("mvc", targetFrameworkOverride, auth: "Individual");
|
|
|
|
AssertDirectoryExists("Extensions", true);
|
|
AssertFileExists("urlRewrite.config", false);
|
|
AssertFileExists("Controllers/AccountController.cs", true);
|
|
|
|
var projectFileContents = ReadFile($"{ProjectName}.csproj");
|
|
Assert.Contains(".db", projectFileContents);
|
|
Assert.Contains("Microsoft.EntityFrameworkCore.Tools", projectFileContents);
|
|
Assert.Contains("Microsoft.VisualStudio.Web.CodeGeneration.Design", projectFileContents);
|
|
Assert.Contains("Microsoft.EntityFrameworkCore.Tools.DotNet", projectFileContents);
|
|
Assert.Contains("Microsoft.Extensions.SecretManager.Tools", projectFileContents);
|
|
|
|
foreach (var publish in new[] { false, true })
|
|
{
|
|
using (var aspNetProcess = StartAspNetProcess(targetFrameworkOverride, publish))
|
|
{
|
|
aspNetProcess.AssertOk("/");
|
|
aspNetProcess.AssertOk("/Home/About");
|
|
aspNetProcess.AssertOk("/Home/Contact");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|