Mocking an Umbraco Node
UPDATE:
Fluently Mocking an Umbraco Node
For the last few months, I have been working on an example showing that it is possible to produce sites on top of a CMS in a TDD manner. The aim is to get more people using TDD by giving a starting point.
Currently, I am implementing this in Umbraco and have built this method that others might find useful.
public class MockNodeFactory
{
public static INode BuildNode(IDictionary<string, object> properties)
{
var node = Substitute.For<INode>();
foreach (var pair in properties)
{
var property = Substitute.For<IProperty>();
property.Alias.Returns(pair.Key);
property.Value.Returns(pair.Value);
node.GetProperty(pair.Key).Returns(property);
}
return node;
}
}
It has a dependency on NSubstitute however you should be able to swap that out for your favourite mocking framework.