Skip to content

Instantly share code, notes, and snippets.

@cardinal252
Last active September 16, 2015 15:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cardinal252/23855050738e5ab6e106 to your computer and use it in GitHub Desktop.
Save cardinal252/23855050738e5ab6e106 to your computer and use it in GitHub Desktop.
Mocking GlassController Rendering Parameters
[TestFixture]
public class GlassControllerRenderingParametersTests
{
[Test]
public void GlassController_can_set_and_get_rendering_parameters()
{
// Arrange
StubClass classToReturn = new StubClass();
var testHarness = new GlassControllerTestHarness();
testHarness.RenderingContextWrapper.ContextActive.Returns(true);
const string renderingParameters = "p=1&r=2";
testHarness.RenderingContextWrapper.GetRenderingParameters().Returns(renderingParameters);
testHarness.GlassHtml.GetRenderingParameters<StubClass>(renderingParameters).Returns(classToReturn);
// Act
var result = testHarness.GlassController.GetRenderingParameters<StubClass>();
// Assert
result.Should().Be(classToReturn);
}
public class StubClass
{
}
public class GlassControllerTestHarness
{
public GlassControllerTestHarness()
{
SitecoreContext = Substitute.For<ISitecoreContext>();
GlassHtml = Substitute.For<IGlassHtml>();
RenderingContextWrapper = Substitute.For<IRenderingContextWrapper>();
HttpContext = Substitute.For<HttpContextBase>();
GlassController = new GlassController(SitecoreContext, GlassHtml, RenderingContextWrapper, HttpContext);
}
public HttpContextBase HttpContext { get; private set; }
public IRenderingContextWrapper RenderingContextWrapper { get; private set; }
public IGlassHtml GlassHtml { get; private set; }
public ISitecoreContext SitecoreContext { get; private set; }
public GlassController GlassController { get; private set; }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment