Esempio n. 1
0
            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);
            }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
            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);
            }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
            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));
            }
Esempio n. 7
0
        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));
        }
Esempio n. 8
0
        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);
        }
Esempio n. 9
0
        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");
        }
Esempio n. 10
0
        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());
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
            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);
            }
Esempio n. 14
0
        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));
        }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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));
        }
Esempio n. 17
0
            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);
            }
Esempio n. 18
0
            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);
            }
Esempio n. 19
0
        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");
        }