I just wrote my first unit test and now I have some questions. Here is said test:
[Test]
public void IndexShouldReturnPosts()
{
// arrange
var repository = Mock.Create<IRepository>();
var posts = new []
{
new Post { Title = "Hello", Slug = "hello", Content = "Some post."},
new Post { Title = "Goodbye", Slug = "goodbye", Content = "Some post."}
};
Mock.Arrange(() => repository.GetAll()).Returns(posts);
var controller = new HomeController(repository);
// act
var result = controller.Index();
var model = (Post[]) result.Model;
// assert
CollectionAssert.AreEqual(posts, model);
}
This test passes, and I understand why. However, the web page does not actually work as expected as no view cannot be found.
I think (and please correct me if I am wrong) that I need to write another test to validate that view is rendered correctly but I do not know how.
How can I test that my view is rendered correctly?