diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultDisplayTemplatesTests.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultDisplayTemplatesTests.cs index 2aa2c0f2ef..c3141bce6f 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultDisplayTemplatesTests.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultDisplayTemplatesTests.cs @@ -96,5 +96,80 @@ namespace Microsoft.AspNet.Mvc.Core.Test // Assert Assert.Equal(expected, result); } + + [Fact] + public void Display_FindsViewDataMember() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.Display("Property1"); + + // Assert + Assert.Equal("ViewData string", result.ToString()); + } + + [Fact] + public void DisplayFor_FindsModel() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.DisplayFor(m => m.Property1); + + // Assert + Assert.Equal("Model string", result.ToString()); + } + + [Fact] + public void Display_FindsModel_IfNoViewDataMember() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + + // Act + var result = helper.Display("Property1"); + + // Assert + Assert.Equal("Model string", result.ToString()); + } + + [Fact] + public void DisplayFor_FindsModel_EvenIfNull() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel(); + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.DisplayFor(m => m.Property1); + + // Assert + Assert.Empty(result.ToString()); + } } } \ No newline at end of file diff --git a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultEditorTemplatesTests.cs b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultEditorTemplatesTests.cs index 258145e0aa..fede61b4ed 100644 --- a/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultEditorTemplatesTests.cs +++ b/test/Microsoft.AspNet.Mvc.Core.Test/Rendering/DefaultEditorTemplatesTests.cs @@ -104,5 +104,88 @@ Environment.NewLine; // Assert Assert.Equal(expected, result); } + + [Fact] + public void Editor_FindsViewDataMember() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.Editor("Property1"); + + // Assert + Assert.Equal( + "", + result.ToString()); + } + + [Fact] + public void EditorFor_FindsModel() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.EditorFor(m => m.Property1); + + // Assert + Assert.Equal( + "", + result.ToString()); + } + + [Fact] + public void Editor_FindsModel_IfNoViewDataMember() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel { Property1 = "Model string" }; + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + + // Act + var result = helper.Editor("Property1"); + + // Assert + Assert.Equal( + "", + result.ToString()); + } + + [Fact] + public void EditorFor_FindsModel_EvenIfNull() + { + // Arrange + var model = new DefaultTemplatesUtilities.ObjectTemplateModel(); + var viewEngine = new Mock(); + viewEngine + .Setup(v => v.FindPartialView(It.IsAny>(), It.IsAny())) + .Returns(ViewEngineResult.NotFound("", Enumerable.Empty())); + var helper = DefaultTemplatesUtilities.GetHtmlHelper(model, viewEngine.Object); + helper.ViewData["Property1"] = "ViewData string"; + + // Act + var result = helper.EditorFor(m => m.Property1); + + // Assert + Assert.Equal( + "", + result.ToString()); + } } } \ No newline at end of file