Browse Source

Add unit tests for ASP.NET MVC T4 templates when model has more than one property.

pull/18/head
Matt Ward 14 years ago
parent
commit
a22a0b9f2f
  1. 48
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs
  2. 42
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs
  3. 40
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs
  4. 48
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs
  5. 48
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs
  6. 42
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs
  7. 39
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs
  8. 48
      src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs

48
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpCreateViewTemplateTests.cs

@ -226,6 +226,54 @@ MyView
<div> <div>
<%: Html.ActionLink(""Back"", ""Index"") %> <%: Html.ActionLink(""Back"", ""Index"") %>
</div> </div>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithFormAndHtmlEditorForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"<%@ Control Language=""C#"" Inherits=""System.Web.Mvc.ViewUserControl<AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties>"" %>
<% using (Html.BeginForm()) { %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""editor-label"">
<%: Html.LabelFor(model => model.FirstName) %>
</div>
<div class=""editor-field"">
<%: Html.EditorFor(model => model.FirstName) %>
<%: Html.ValidationMessageFor(model => model.FirstName) %>
</div>
<div class=""editor-label"">
<%: Html.LabelFor(model => model.LastName) %>
</div>
<div class=""editor-field"">
<%: Html.EditorFor(model => model.LastName) %>
<%: Html.ValidationMessageFor(model => model.LastName) %>
</div>
<p>
<input type=""submit"" value=""Create""/>
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink(""Back"", ""Index"") %>
</div>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

42
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDeleteViewTemplateTests.cs

@ -209,6 +209,48 @@ MyView
<%: Html.ActionLink(""Back"", ""Index"") %> <%: Html.ActionLink(""Back"", ""Index"") %>
</p> </p>
<% } %> <% } %>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithHtmlHelpersForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"<%@ Control Language=""C#"" Inherits=""System.Web.Mvc.ViewUserControl<AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties>"" %>
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""display-label"">
<%: Html.LabelFor(model => model.FirstName) %>
</div>
<div class=""display-field"">
<%: Html.DisplayFor(model => model.FirstName) %>
</div>
<div class=""display-label"">
<%: Html.LabelFor(model => model.LastName) %>
</div>
<div class=""display-field"">
<%: Html.DisplayFor(model => model.LastName) %>
</div>
</fieldset>
<% using (Html.BeginForm()) { %>
<p>
<input type=""submit"" value=""Delete""/> |
<%: Html.ActionLink(""Back"", ""Index"") %>
</p>
<% } %>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

40
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpDetailsViewTemplateTests.cs

@ -201,6 +201,46 @@ MyView
<%: Html.ActionLink(""Edit"", ""Edit"") %> | <%: Html.ActionLink(""Edit"", ""Edit"") %> |
<%: Html.ActionLink(""Back"", ""Index"") %> <%: Html.ActionLink(""Back"", ""Index"") %>
</p> </p>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithFormAndHtmlHelpersForModelProperty()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"<%@ Control Language=""C#"" Inherits=""System.Web.Mvc.ViewUserControl<AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties>"" %>
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""display-label"">
<%: Html.LabelFor(model => model.FirstName) %>
</div>
<div class=""display-field"">
<%: Html.DisplayFor(model => model.FirstName) %>
</div>
<div class=""display-label"">
<%: Html.LabelFor(model => model.LastName) %>
</div>
<div class=""display-field"">
<%: Html.DisplayFor(model => model.LastName) %>
</div>
</fieldset>
<p>
<%: Html.ActionLink(""Edit"", ""Edit"") %> |
<%: Html.ActionLink(""Back"", ""Index"") %>
</p>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

48
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/AspxCSharpEditViewTemplateTests.cs

@ -226,6 +226,54 @@ MyView
<div> <div>
<%: Html.ActionLink(""Back"", ""Index"") %> <%: Html.ActionLink(""Back"", ""Index"") %>
</div> </div>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithFormAndHtmlHelpersForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"<%@ Control Language=""C#"" Inherits=""System.Web.Mvc.ViewUserControl<AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties>"" %>
<% using (Html.BeginForm()) { %>
<%: Html.ValidationSummary(true) %>
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""editor-label"">
<%: Html.LabelFor(model => model.FirstName) %>
</div>
<div class=""editor-field"">
<%: Html.EditorFor(model => model.FirstName) %>
<%: Html.ValidationMessageFor(model => model.FirstName) %>
</div>
<div class=""editor-label"">
<%: Html.LabelFor(model => model.LastName) %>
</div>
<div class=""editor-field"">
<%: Html.EditorFor(model => model.LastName) %>
<%: Html.ValidationMessageFor(model => model.LastName) %>
</div>
<p>
<input type=""submit"" value=""Save""/>
</p>
</fieldset>
<% } %>
<div>
<%: Html.ActionLink(""Back"", ""Index"") %>
</div>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

48
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpCreateViewTemplateTests.cs

@ -227,6 +227,54 @@ namespace AspNet.Mvc.Tests.CodeTemplates
<div> <div>
@Html.ActionLink(""Back"", ""Index"") @Html.ActionLink(""Back"", ""Index"")
</div> </div>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithHtmlEditorsForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"@model AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""editor-label"">
@Html.LabelFor(model => model.FirstName)
</div>
<div class=""editor-field"">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class=""editor-label"">
@Html.LabelFor(model => model.LastName)
</div>
<div class=""editor-field"">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
<p>
<input type=""submit"" value=""Create""/>
</p>
</fieldset>
}
<div>
@Html.ActionLink(""Back"", ""Index"")
</div>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

42
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDeleteViewTemplateTests.cs

@ -210,6 +210,48 @@ namespace AspNet.Mvc.Tests.CodeTemplates
@Html.ActionLink(""Back"", ""Index"") @Html.ActionLink(""Back"", ""Index"")
</p> </p>
} }
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithHtmlHelpersForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"@model AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""display-label"">
@Html.LabelFor(model => model.FirstName)
</div>
<div class=""display-field"">
@Html.DisplayFor(model => model.FirstName)
</div>
<div class=""display-label"">
@Html.LabelFor(model => model.LastName)
</div>
<div class=""display-field"">
@Html.DisplayFor(model => model.LastName)
</div>
</fieldset>
@using (Html.BeginForm()) {
<p>
<input type=""submit"" value=""Delete""/> |
@Html.ActionLink(""Back"", ""Index"")
</p>
}
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

39
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpDetailsViewTemplateTests.cs

@ -202,6 +202,45 @@ namespace AspNet.Mvc.Tests.CodeTemplates
@Html.ActionLink(""Edit"", ""Edit"") | @Html.ActionLink(""Edit"", ""Edit"") |
@Html.ActionLink(""Back"", ""Index"") @Html.ActionLink(""Back"", ""Index"")
</p> </p>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithHtmlHelperForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"@model AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""display-label"">
@Html.LabelFor(model => model.FirstName)
</div>
<div class=""display-field"">
@Html.DisplayFor(model => model.FirstName)
</div>
<div class=""display-label"">
@Html.LabelFor(model => model.LastName)
</div>
<div class=""display-field"">
@Html.DisplayFor(model => model.LastName)
</div>
</fieldset>
<p>
@Html.ActionLink(""Edit"", ""Edit"") |
@Html.ActionLink(""Back"", ""Index"")
</p>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

48
src/AddIns/BackendBindings/AspNet.Mvc/Test/Src/CodeTemplates/RazorCSharpEditViewTemplateTests.cs

@ -227,6 +227,54 @@ namespace AspNet.Mvc.Tests.CodeTemplates
<div> <div>
@Html.ActionLink(""Back"", ""Index"") @Html.ActionLink(""Back"", ""Index"")
</div> </div>
";
Assert.AreEqual(expectedOutput, output);
}
[Test]
public void TransformText_ModelHasTwoPropertiesAndIsPartialView_ReturnsControlWithHtmlHelpersForModelProperties()
{
CreateViewTemplatePreprocessor();
mvcHost.IsPartialView = true;
Type modelType = typeof(ModelWithTwoProperties);
mvcHost.ViewDataType = modelType;
mvcHost.ViewDataTypeName = modelType.FullName;
mvcHost.ViewName = "MyView";
string output = templatePreprocessor.TransformText();
string expectedOutput =
@"@model AspNet.Mvc.Tests.CodeTemplates.Models.ModelWithTwoProperties
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>ModelWithTwoProperties</legend>
<div class=""editor-label"">
@Html.LabelFor(model => model.FirstName)
</div>
<div class=""editor-field"">
@Html.EditorFor(model => model.FirstName)
@Html.ValidationMessageFor(model => model.FirstName)
</div>
<div class=""editor-label"">
@Html.LabelFor(model => model.LastName)
</div>
<div class=""editor-field"">
@Html.EditorFor(model => model.LastName)
@Html.ValidationMessageFor(model => model.LastName)
</div>
<p>
<input type=""submit"" value=""Save""/>
</p>
</fieldset>
}
<div>
@Html.ActionLink(""Back"", ""Index"")
</div>
"; ";
Assert.AreEqual(expectedOutput, output); Assert.AreEqual(expectedOutput, output);
} }

Loading…
Cancel
Save