public void ViewPathProperty() { // Act BuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "view path"); // Assert Assert.AreEqual("view path", view.ViewPath); }
public void ViewCreationConsultsSetActivator() { // Arrange object viewInstance = new object(); Mock <IViewPageActivator> activator = new Mock <IViewPageActivator>(MockBehavior.Strict); ControllerContext controllerContext = new ControllerContext(); activator .Setup(a => a.Create(controllerContext, typeof(object))) .Returns(viewInstance) .Verifiable(); MockBuildManager buildManager = new MockBuildManager("view path", typeof(object)); BuildManagerCompiledView view = new TestableBuildManagerCompiledView( controllerContext, "view path", activator.Object ) { BuildManager = buildManager }; // Act view.Render(new Mock <ViewContext>().Object, new Mock <TextWriter>().Object); // Assert activator.Verify(); }
public void ViewCreationDelegatesToDependencyResolverWhenActivatorIsNull() { // Arrange var viewInstance = new object(); var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(object)); var dependencyResolver = new Mock <IDependencyResolver>(MockBehavior.Strict); dependencyResolver .Setup(dr => dr.GetService(typeof(object))) .Returns(viewInstance) .Verifiable(); var view = new TestableBuildManagerCompiledView( controllerContext, "view path", dependencyResolver: dependencyResolver.Object ) { BuildManager = buildManager }; // Act view.Render(new Mock <ViewContext>().Object, new Mock <TextWriter>().Object); // Assert dependencyResolver.Verify(); }
public void ViewPathProperty() { // Act BuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "view path"); // Assert Assert.Equal("view path", view.ViewPath); }
public void RenderWithNullContextThrows() { // Arrange TestableBuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "~/view"); // Act & Assert ExceptionHelper.ExpectArgumentNullException( () => view.Render(null, new Mock<TextWriter>().Object), "viewContext" ); }
public void RenderWithNullContextThrows() { // Arrange TestableBuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "~/view"); // Act & Assert Assert.ThrowsArgumentNull( () => view.Render(null, new Mock <TextWriter>().Object), "viewContext" ); }
public void RenderWithNullViewInstanceThrows() { // Arrange ViewContext context = new Mock<ViewContext>().Object; MockBuildManager buildManager = new MockBuildManager("view path", compiledType: null); TestableBuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "view path"); view.BuildManager = buildManager; // Act & Assert ExceptionHelper.ExpectException<InvalidOperationException>( () => view.Render(context, new Mock<TextWriter>().Object), "The view found at 'view path' was not created." ); }
public void RenderWithNullViewInstanceThrows() { // Arrange ViewContext context = new Mock <ViewContext>().Object; MockBuildManager buildManager = new MockBuildManager("view path", compiledType: null); TestableBuildManagerCompiledView view = new TestableBuildManagerCompiledView(new ControllerContext(), "view path"); view.BuildManager = buildManager; // Act & Assert Assert.Throws <InvalidOperationException>( () => view.Render(context, new Mock <TextWriter>().Object), "The view found at 'view path' was not created." ); }
public void ViewCreationConsultsSetActivator() { // Arrange object viewInstance = new object(); Mock<IViewPageActivator> activator = new Mock<IViewPageActivator>(MockBehavior.Strict); ControllerContext controllerContext = new ControllerContext(); activator.Setup(a => a.Create(controllerContext, typeof(object))).Returns(viewInstance).Verifiable(); MockBuildManager buildManager = new MockBuildManager("view path", typeof(object)); BuildManagerCompiledView view = new TestableBuildManagerCompiledView(controllerContext, "view path", activator.Object) { BuildManager = buildManager }; // Act view.Render(new Mock<ViewContext>().Object, new Mock<TextWriter>().Object); // Assert activator.Verify(); }
public void ViewCreationDelegatesToActivatorCreateInstanceWhenDependencyResolverReturnsNull() { // Arrange var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(NoParameterlessCtor)); var dependencyResolver = new Mock <IDependencyResolver>(); var view = new TestableBuildManagerCompiledView(controllerContext, "view path", dependencyResolver: dependencyResolver.Object) { BuildManager = buildManager }; // Act & Assert, confirming type name and full stack are available in Exception // Depend on the fact that Activator.CreateInstance cannot create an object without a parameterless ctor MissingMethodException ex = Assert.Throws <MissingMethodException>( () => view.Render(new Mock <ViewContext>().Object, new Mock <TextWriter>().Object), "No parameterless constructor defined for this object. Object type 'System.Web.Mvc.Test.CompiledTypeViewTest+NoParameterlessCtor'."); Assert.Contains("System.Activator.CreateInstance(", ex.ToString()); }
public void ViewCreationDelegatesToActivatorCreateInstanceWhenDependencyResolverReturnsNull() { // Arrange var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(NoParameterlessCtor)); var dependencyResolver = new Mock <IDependencyResolver>(); var view = new TestableBuildManagerCompiledView(controllerContext, "view path", dependencyResolver: dependencyResolver.Object) { BuildManager = buildManager }; // Act MissingMethodException ex = Assert.Throws <MissingMethodException>( // Depend on the fact that Activator.CreateInstance cannot create an object without a parameterless ctor () => view.Render(new Mock <ViewContext>().Object, new Mock <TextWriter>().Object) ); // Assert Assert.Contains("System.Activator.CreateInstance(", ex.StackTrace); }
public void ViewCreationDelegatesToDependencyResolverWhenActivatorIsNull() { // Arrange var viewInstance = new object(); var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(object)); var dependencyResolver = new Mock<IDependencyResolver>(MockBehavior.Strict); dependencyResolver.Setup(dr => dr.GetService(typeof(object))).Returns(viewInstance).Verifiable(); var view = new TestableBuildManagerCompiledView(controllerContext, "view path", dependencyResolver: dependencyResolver.Object) { BuildManager = buildManager }; // Act view.Render(new Mock<ViewContext>().Object, new Mock<TextWriter>().Object); // Assert dependencyResolver.Verify(); }
public void ViewCreationDelegatesToActivatorCreateInstanceWhenDependencyResolverReturnsNull() { // Arrange var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(NoParameterlessCtor)); var dependencyResolver = new Mock<IDependencyResolver>(); var view = new TestableBuildManagerCompiledView(controllerContext, "view path", dependencyResolver: dependencyResolver.Object) { BuildManager = buildManager }; // Act MissingMethodException ex = Assert.Throws<MissingMethodException>( // Depend on the fact that Activator.CreateInstance cannot create an object without a parameterless ctor () => view.Render(new Mock<ViewContext>().Object, new Mock<TextWriter>().Object) ); // Assert Assert.Contains("System.Activator.CreateInstance(", ex.StackTrace); }
public void ViewCreationDelegatesToActivatorCreateInstanceWhenDependencyResolverReturnsNull() { // Arrange var controllerContext = new ControllerContext(); var buildManager = new MockBuildManager("view path", typeof(NoParameterlessCtor)); var dependencyResolver = new Mock<IDependencyResolver>(); var view = new TestableBuildManagerCompiledView(controllerContext, "view path", dependencyResolver: dependencyResolver.Object) { BuildManager = buildManager }; // Act & Assert, confirming type name and full stack are available in Exception // Depend on the fact that Activator.CreateInstance cannot create an object without a parameterless ctor MissingMethodException ex = Assert.Throws<MissingMethodException>( () => view.Render(new Mock<ViewContext>().Object, new Mock<TextWriter>().Object), "No parameterless constructor defined for this object. Object type 'System.Web.Mvc.Test.CompiledTypeViewTest+NoParameterlessCtor'."); Assert.Contains("System.Activator.CreateInstance(", ex.ToString()); }