public void NotFoundActionMethodShouldReturn404StatusCode() { var responseInstance = MockRepository.GenerateStrictMock<IResponse>(); var homeController = new HomeController(MockRepository.GenerateMock<IDbExecutor>(), responseInstance); responseInstance .Expect(response => response.SetStatusCode(HttpStatusCode.NotFound)); homeController.NotFound(new CategoryUrlBinding()); responseInstance.VerifyAllExpectations(); }
public void IndexActionMethodReturnsAViewResult() { var dbConnection = MockRepository.GenerateStrictMock<IDbExecutor>(); dbConnection .Stub<IDbExecutor>(connection => connection.Query<ProductBoxViewModel>(string.Empty)) .IgnoreArguments() .Return(new ProductBoxViewModel[] { }); var homeController = new HomeController(dbConnection, MockRepository.GenerateMock<IResponse>()); var actual = ((ViewResult)homeController.Index()).Model; Assert.IsInstanceOf<HomePageViewModel>(actual); dbConnection.VerifyAllExpectations(); }
public void IndexActionMethodShouldCallTheDatabaseToReturnDataToBeUsedToPopulateTheModel() { var dbConnection = MockRepository.GenerateStrictMock<IDbExecutor>(); var homeController = new HomeController(dbConnection, MockRepository.GenerateMock<IResponse>()); dbConnection .Expect(connection => connection.Query<ProductBoxViewModel>( "SELECT id, prdct.Url AS productUrl, prdct.Name AS productName, prdct.UnitPrice AS productPrice, [image].Url AS imageUrl, [image].Name AS imageTitle, [image].[Description] AS imageAlternateText FROM Product AS prdct CROSS APPLY (SELECT TOP 1 imgs.Url, imgs.Name, imgs.[Description] FROM Images AS imgs WHERE imgs.ProductId = prdct.Id AND imgs.[Primary] = 1) AS [image]", null, null, true, null, null)) .Return(new ProductBoxViewModel[] { }); homeController.Index(); dbConnection.VerifyAllExpectations(); }