Beispiel #1
0
        public void Edit_NullEntryID_ThrowsHttpException()
        {
            // Arrange
            var dataSource  = GetEntriesData();
            var mockSet     = new MockDbSet <Entry>(dataSource);
            var mockContext = new Mock <GlossaryContext>();

            mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object);

            var controller = new EntryController(mockContext.Object);

            // Assert
            Assert.ThrowsException <HttpException>(() => controller.Edit(null));
        }
        public void GivenNavigatorShowEditEntryView()
        {
            INavigationRepository repository = GenerateRepository();
            EntryController       target     = new EntryController(repository);
            Navigator             navigator  = GenerateNavigator();
            ActionResult          actual;

            actual = target.Edit(navigator);
            Assert.IsNotNull(actual);
            Assert.IsInstanceOfType(actual, typeof(ViewResult));
            ViewResult result = actual as ViewResult;

            Assert.AreEqual("Edit", result.ViewName);
            EntryViewModel model = result.Model as EntryViewModel;

            Assert.AreEqual(model.EntryId, 0);
            Assert.IsTrue(String.IsNullOrEmpty(model.Clue));
            Assert.IsTrue(String.IsNullOrEmpty(model.Hint));
        }
        public void GivenEntryViewModelUpdateEntry()
        {
            INavigationRepository repository = GenerateRepository();
            EntryController       target     = new EntryController(repository);
            EntryViewModel        model      = Utilities.ObjectFactory.CreateEntry(GenerateNavigator());

            repository.Expect(r => r.SaveEntry(model)).Return(true);
            ActionResult actual;

            actual = target.Edit(model);
            Assert.IsNotNull(actual);
            Assert.IsInstanceOfType(actual, typeof(RedirectToRouteResult));
            RedirectToRouteResult result = actual as RedirectToRouteResult;

            Assert.AreEqual("location_default", result.RouteName);
            Assert.AreEqual("Details", result.RouteValues["Action"]);
            Assert.AreEqual(model.RegionName, result.RouteValues["RegionName"]);
            Assert.AreEqual(model.AreaName, result.RouteValues["AreaName"]);
            Assert.AreEqual(model.LocationName, result.RouteValues["LocationName"]);
            repository.VerifyAllExpectations();
        }
Beispiel #4
0
        public void Edit_ValidEntry_ReturnsEditFormViewAndCorrespondingEntry()
        {
            // Arrange
            var dataSource  = GetEntriesData();
            var mockSet     = new MockDbSet <Entry>(dataSource);
            var mockContext = new Mock <GlossaryContext>();

            mockContext.Setup(c => c.Set <Entry>()).Returns(mockSet.Object);

            var controller = new EntryController(mockContext.Object);

            string expectedViewName = "EntryForm";
            Entry  expectedEntry    = dataSource.Last();

            // Act
            ViewResult result = controller.Edit(expectedEntry.Id) as ViewResult;

            // Assert
            Assert.AreEqual(expectedViewName, result.ViewName);
            Assert.AreEqual(expectedEntry.Term, ((Entry)result.Model).Term);
        }