public void Create_ReturnsCorrectActionType_RedirectToActionResult()
        {
            //Arrange
            WordController controller = new WordController();

            //Act
            IActionResult view = controller.Create("Walk the dog", " walk the cat");

            //Assert
            Assert.IsInstanceOfType(view, typeof(RedirectToActionResult));
        }
        public void Controller_Word_Create()
        {
            // We always expect a view, allowing us to create

            // Arrange
            // Act
            ViewResult result = controller.Create() as ViewResult;

            // Assert
            Assert.IsNotNull(result, "Expected a non null view result");
        }
        public void Create_RedirectsToCorrectAction_Index()
        {
            //Arrange
            WordController         controller   = new WordController();
            RedirectToActionResult actionResult = controller.Create("Walk the dog", "walk the cat") as RedirectToActionResult;

            //Act
            string result = actionResult.ActionName;

            //Assert
            Assert.AreEqual(result, "Index");
        }
        public void Create_RedirectsToCorrectAction_Index()
        {
            //Arrange
            WordController         controller   = new WordController();
            RedirectToActionResult actionResult = controller.Create("Test Method", "Test Method again") as RedirectToActionResult;

            //Act
            var result = actionResult.ActionName;

            //Assert
            Assert.AreEqual(result, "Index");
        }
        public void CreateShouldDisplayTheCorrectView()
        {
            //ARRANGE
            var controller = new WordController(null, null);

            //ACT
            var result = controller.Create() as ViewResult;

            //ASSERT
            Assert.NotNull(result);
            Assert.NotNull(result.Model);
            Assert.That(result.ViewName, Is.EqualTo("Create"));
        }
        public void CreateShouldSaveTheProfile()
        {
            //ARRANGE
            var model = new WordEntity();

            var logic = new Mock <IWordLogic>();

            logic
            .Setup(x => x.Create(model))
            .Verifiable("Should save the new word.");

            var controller = new WordController(logic.Object, null);

            //ACT
            var result = controller.Create(model) as RedirectToRouteResult;

            //ASSERT
            logic.Verify();

            Assert.NotNull(result);
            Assert.AreEqual("Index", result.RouteValues["Action"]);
        }