public void GetAll_ExpectAllRecipes() { //arrange Models.ICookbookContext context = base.AddTestData(new TestContext()); Controllers.RecipesController controller = new Controllers.RecipesController(context); //act var result = controller.GetRecipes() as TestRecipeDbSet; Assert.IsNotNull(result); Assert.AreEqual(2, result.Local.Count); }
public void Delete_Get_ExpectDeleteView() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); //act ViewResult result = controller.Delete(1) as ViewResult; //assert Assert.IsNotNull(result); Assert.AreEqual("Delete", result.ViewName); }
public void Get_ExpectOneRecipe() { //arrange -- done in base class Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.RecipesController controller = new Controllers.RecipesController(context); //act var result = controller.GetRecipe(1) as OkNegotiatedContentResult <Models.Recipe>; //assert Assert.IsNotNull(result); Assert.AreEqual(1, result.Content.RecipeId); }
public void Edit_Get_ExpectNotFound() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); int?id = 999999; //act HttpNotFoundResult result = controller.Edit(id) as HttpNotFoundResult; //assert Assert.IsNotNull(result); Assert.AreEqual((int)HttpStatusCode.NotFound, result.StatusCode); }
public void Delete_Get_ExpectBadRequestWhenIdNull() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); int?id = null; //act HttpStatusCodeResult result = controller.Delete(id) as HttpStatusCodeResult; //assert Assert.IsNotNull(result); Assert.AreEqual((int)HttpStatusCode.BadRequest, result.StatusCode); }
public void Put_ExpectFailWhenDifferentId() { //arrange Models.ICookbookContext context = base.AddTestData(new TestContext()); Controllers.RecipesController controller = new Controllers.RecipesController(context); //act var result = controller.PutRecipe(999, new Models.Recipe { RecipeId = 4, Title = "BAD" }); //assert Assert.IsInstanceOfType(result, typeof(BadRequestResult)); }
public void Delete_Post_ExpectRecipeRemoved() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); IEnumerable <Models.Recipe> recipes = context.Recipes; Models.Recipe condemnedRecipe = recipes.Where(r => r.RecipeId == 1).FirstOrDefault(); //act controller.DeleteConfirmed(condemnedRecipe.RecipeId); //assert Assert.IsTrue(!recipes.Contains(condemnedRecipe)); }
protected Models.ICookbookContext AddTestData(Models.ICookbookContext context) { context.Recipes.Add(new Models.Recipe { RecipeId = 1, Title = "Test Recipe #1" }); context.Recipes.Add(new Models.Recipe { RecipeId = 2, Title = "Test Recipe #2" }); context.RecipeNotes.Add(new Models.RecipeNote { RecipeNoteId = 1, RecipeFk = 1, Text = "Test note." }); return(context); }
public void Delete_Post_ExpectRedirectToIndex() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); //act ActionResult result = controller.DeleteConfirmed(1); //assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); RedirectToRouteResult routeResult = result as RedirectToRouteResult; Assert.AreEqual(routeResult.RouteValues["action"], "Index"); }
public void Index_ExpectIndexViewWithData() { //Arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); //Act ViewResult result = (ViewResult)controller.Index(null, null, null); IEnumerable <Models.Recipe> model = result.ViewData.Model as IEnumerable <Models.Recipe>; //assert Assert.IsNotNull(result); Assert.IsNotNull(model); Assert.AreEqual("Index", result.ViewName); Assert.AreEqual(2, model.Count()); }
public void Edit_Get_ExpectRecipe() { //Arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); //act ViewResult result = controller.Edit(1) as ViewResult; Models.Recipe foundRecipe = result.Model as Models.Recipe; //assert //Test Recipe #1 Assert.IsNotNull(result); Assert.AreEqual("Test Recipe #1", foundRecipe.Title); }
public void Create_ExpectCreateViewIfModelStateIsNotValid() { //Arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); controller.ModelState.AddModelError("", "mock error message"); Models.Recipe testRecipe = new Models.Recipe { RecipeId = 55, Title = "Test Bad" }; //act var result = (ViewResult)controller.Create(testRecipe); //assert Assert.AreEqual("Create", result.ViewName); }
public void Post_ExpectSameNote() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.RecipeNotesController controller = new Controllers.RecipeNotesController(context); Models.RecipeNote newNote = new Models.RecipeNote { RecipeNoteId = 2, RecipeFk = 1, Text = "Test post" }; //act var result = controller.PostRecipeNote(newNote) as CreatedAtRouteNegotiatedContentResult <Models.RecipeNote>; //assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteName, "DefaultApi"); Assert.AreEqual(result.RouteValues["id"], result.Content.RecipeNoteId); Assert.AreEqual(result.Content.Text, newNote.Text); }
public void Edit_Post_ExpectRecipeChanged() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); Models.Recipe editedRecipe; //act ViewResult result = controller.Edit(1) as ViewResult; editedRecipe = result.Model as Models.Recipe; editedRecipe.Title = "Edited"; controller.Edit(editedRecipe); IEnumerable <Models.Recipe> recipes = context.Recipes; //assert Assert.IsTrue(recipes.Contains(editedRecipe)); }
public void Edit_Post_ExpectEditViewIfModelStateIsNotValid() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); controller.ModelState.AddModelError("", "mock error message"); Models.Recipe badRecipe = new Models.Recipe { RecipeId = 55, Title = "Bad" }; //act ViewResult result = controller.Edit(badRecipe) as ViewResult; //assert Assert.IsNotNull(result); Assert.AreEqual("Edit", result.ViewName); }
public void Create_ExpectValidRecipeAdded() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); Models.Recipe testRecipe = new Models.Recipe { RecipeId = 55, Title = "Test Good" }; //act controller.Create(testRecipe); //Assert IEnumerable <Models.Recipe> recipes = context.Recipes; Assert.IsTrue(recipes.Contains(testRecipe)); }
public void Post_ExpectSameRecipe() { //arrange Models.Recipe newRecipe = new Models.Recipe() { RecipeId = 33, Title = "Test post" }; Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.RecipesController controller = new Controllers.RecipesController(context); //act var result = controller.PostRecipe(newRecipe) as CreatedAtRouteNegotiatedContentResult <Models.Recipe>; //assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteName, "DefaultApi"); Assert.AreEqual(result.RouteValues["Id"], result.Content.RecipeId); Assert.AreEqual(result.Content.Title, newRecipe.Title); }
public void Put_ExpectStatusCode() { //arrange Models.Recipe recipe = new Models.Recipe() { RecipeId = 1, Title = "Edited recipe" }; int id = 1; Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.RecipesController controller = new Controllers.RecipesController(context); //act var result = controller.PutRecipe(id, recipe) as StatusCodeResult; //assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(StatusCodeResult)); Assert.AreEqual(HttpStatusCode.NoContent, result.StatusCode); }
public void Create_ExpectIndexViewIfModelStateIsValid() { //arrange Models.ICookbookContext context = AddTestData(new TestContext()); Controllers.CookbookMVCController controller = new Controllers.CookbookMVCController(context); Models.Recipe testRecipe = new Models.Recipe { RecipeId = 55, Title = "Test Good" }; //act ActionResult result = controller.Create(testRecipe); //assert Assert.IsNotNull(result); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); RedirectToRouteResult routeResult = result as RedirectToRouteResult; Assert.AreEqual(routeResult.RouteValues["action"], "Index"); }