{"metadata":{"image":[],"title":"","description":""},"api":{"url":"","auth":"required","params":[],"results":{"codes":[]}},"next":{"description":"","pages":[]},"title":"View Models","type":"basic","slug":"view-models","excerpt":"","body":"If you assert that the action returns a view of some sort there are some other methods that you can call (seen easily using intellisense). These allow you to check the model, e.g.:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"// Check the type of the model\\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\\n    .WithModel<ModelType>();\\n\\n// Check that a particular object was passed through as the model\\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\\n    .WithModel(expectedModel);\\n\\n// Check that the model that was returned passes a predicate\\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\\n    .WithModel<ModelType>(m => m.Property1 == \\\"hello\\\");\\n\\n// Make assertions on the model\\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\\n    .WithModel<ModelType>(m => {/* Make assertions on m */});\",\n      \"language\": \"csharp\"\n    }\n  ]\n}\n[/block]\nNote: if you use any of these model tests then it will check that the model passed through isn't null.","updates":[],"order":1,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"_id":"54cfce42bba1a02300874209","githubsync":"","version":{"version":"1.0","version_clean":"1.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["54cfb737bba1a023008741a2","54cfc6f75ff7e617002bbdae","54cfcbaebba1a023008741fc","54cfd0295ff7e617002bbdd9","54cfd05b3995cf0d0006f741"],"_id":"54cfb736bba1a023008741a1","releaseDate":"2015-02-02T17:43:18.560Z","__v":5,"createdAt":"2015-02-02T17:43:18.560Z","project":"54cfb736bba1a0230087419e"},"project":"54cfb736bba1a0230087419e","category":{"sync":{"isSync":false,"url":""},"pages":["54cfc714bba1a023008741f1","54cfcc24bba1a02300874200","54cfcc545ff7e617002bbdbe","54cfccf73995cf0d0006f729","54cfce14bba1a02300874205","54cfce42bba1a02300874209","54cfceef3995cf0d0006f736","54cfcf7dbba1a02300874218","54cfcfae3995cf0d0006f73b","54cfcfc4bba1a0230087421b","54cfcfdc3995cf0d0006f73d"],"title":"Usage","slug":"usage","order":2,"from_sync":false,"reference":false,"_id":"54cfc6f75ff7e617002bbdae","__v":11,"createdAt":"2015-02-02T18:50:31.446Z","project":"54cfb736bba1a0230087419e","version":"54cfb736bba1a023008741a1"},"createdAt":"2015-02-02T19:21:38.618Z","user":"54c4ca54686bce0d00efe1b9","__v":0}
If you assert that the action returns a view of some sort there are some other methods that you can call (seen easily using intellisense). These allow you to check the model, e.g.: [block:code] { "codes": [ { "code": "// Check the type of the model\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\n .WithModel<ModelType>();\n\n// Check that a particular object was passed through as the model\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\n .WithModel(expectedModel);\n\n// Check that the model that was returned passes a predicate\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\n .WithModel<ModelType>(m => m.Property1 == \"hello\");\n\n// Make assertions on the model\n_controller.WithCallTo(c => c.Index()).ShouldRenderDefaultView()\n .WithModel<ModelType>(m => {/* Make assertions on m */});", "language": "csharp" } ] } [/block] Note: if you use any of these model tests then it will check that the model passed through isn't null.