{"__v":0,"_id":"54cfce42bba1a02300874209","category":{"__v":11,"_id":"54cfc6f75ff7e617002bbdae","pages":["54cfc714bba1a023008741f1","54cfcc24bba1a02300874200","54cfcc545ff7e617002bbdbe","54cfccf73995cf0d0006f729","54cfce14bba1a02300874205","54cfce42bba1a02300874209","54cfceef3995cf0d0006f736","54cfcf7dbba1a02300874218","54cfcfae3995cf0d0006f73b","54cfcfc4bba1a0230087421b","54cfcfdc3995cf0d0006f73d"],"project":"54cfb736bba1a0230087419e","version":"54cfb736bba1a023008741a1","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-02-02T18:50:31.446Z","from_sync":false,"order":2,"slug":"usage","title":"Usage"},"project":"54cfb736bba1a0230087419e","user":"54c4ca54686bce0d00efe1b9","version":{"__v":5,"_id":"54cfb736bba1a023008741a1","project":"54cfb736bba1a0230087419e","createdAt":"2015-02-02T17:43:18.560Z","releaseDate":"2015-02-02T17:43:18.560Z","categories":["54cfb737bba1a023008741a2","54cfc6f75ff7e617002bbdae","54cfcbaebba1a023008741fc","54cfd0295ff7e617002bbdd9","54cfd05b3995cf0d0006f741"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-02-02T19:21:38.618Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":1,"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.","excerpt":"","slug":"view-models","type":"basic","title":"View Models"}
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.