public void Returns404GivenNotMatchingDinnerId()
        {
            _mockRepository.Setup(r => r.GetById(0)).Returns((Dinner)null);
            var controller = new DinnersController(_mockRepository.Object, _mockDateTime.Object);

            var result = Assert.IsType <HttpNotFoundObjectResult>(controller.AddRsvp(new RsvpRequest()));

            Assert.Equal("Dinner not found.", (string)result.Value);
        }
        public void ReturnsBadRequestGivenInvalidModelState()
        {
            var controller = new DinnersController(_mockRepository.Object, _mockDateTime.Object);

            controller.ModelState.TryAddModelError("name", "name is required");

            var result = controller.AddRsvp(new RsvpRequest()) as BadRequestObjectResult;

            Assert.NotNull(result);
        }
Beispiel #3
0
    public void DetailsAction_Should_Return_View_For_ExistingDinner()
    {
        // Arrange
        var controller = new DinnersController();

        // Act
        var result = controller.Details(1) as ViewResult;

        // Assert
        Assert.IsNotNull(result, "Expected View");
    }
Beispiel #4
0
    public void DetailsAction_Should_Return_NotFoundView_For_BogusDinner()
    {
        // Arrange
        var controller = new DinnersController();

        // Act
        var result = controller.Details(999) as ViewResult;

        // Assert
        Assert.AreEqual("NotFound", result.ViewName);
    }
        DinnersController CreateDinnersControllerAs(string userName)
        {
            var mock         = new Mock <ControllerContext>();
            var nerdIdentity = FakeIdentity.CreateIdentity(userName);

            mock.SetupGet(p => p.HttpContext.User.Identity).Returns(nerdIdentity);

            var controller = new DinnersController(new DinnerRepository(new NerdDinners()), nerdIdentity);

            controller.ControllerContext = mock.Object;

            return(controller);
        }
        public void ReturnsDinnersInViewModel()
        {
            _mockRepository.Setup(r => r.List()).Returns(GetTestDinnerCollection());
            var controller = new DinnersController(_mockRepository.Object, null);

            var result = controller.Index();

            var viewResult = Assert.IsType <ViewResult>(result);
            var viewModel  = Assert.IsType <List <Dinner> >(viewResult.ViewData.Model);

            Assert.Equal("Test Dinner 1", viewModel.First().Title);
            Assert.Equal(2, viewModel.Count);
        }
        public void IndexAction_With_Dinner_Just_Started_Should_Show_Dinner()
        {
            // Arrange
            var testData = FakeDinnerData.CreateTestDinners();
            var dinner   = FakeDinnerData.CreateDinner();

            dinner.EventDate = DateTime.Now.AddHours(-1);
            dinner.Title     = "Dinner which just started";
            testData.Add(dinner);
            var repository = new FakeDinnerRepository(testData);

            var controller = new DinnersController(repository, new CommandServiceClient(), new DinnerReadModel());

            // Act
            // Get first page
            ViewResult             result = (ViewResult)controller.Index(null, null);
            PaginatedList <Dinner> list   = result.ViewData.Model as PaginatedList <Dinner>;

            // Assert
            Assert.AreEqual("Dinner which just started", list.First().Title);
        }
        public void CreateAction_With_New_Dinner_Should_Return_View_And_Repo_Should_Contain_New_Dinner()
        {
            // Arrange
            var mock = new Mock <ControllerContext>();

            var nerdIdentity = FakeIdentity.CreateIdentity("SomeUser");
            var testData     = FakeDinnerData.CreateTestDinners();
            var repository   = new FakeDinnerRepository(testData);
            var controller   = new DinnersController(repository, nerdIdentity);

            controller.ControllerContext = mock.Object;
            mock.SetupGet(p => p.HttpContext.User.Identity).Returns(nerdIdentity);

            var dinner = FakeDinnerData.CreateDinner();

            // Act
            ActionResult result = (ActionResult)controller.Create(dinner);

            // Assert
            Assert.AreEqual(102, repository.All.Count());
            Assert.IsInstanceOf <RedirectToRouteResult>(result);
        }
        public void IndexAction_With_Search_Term_Should_Filter()
        {
            // Arrange
            string searchterm = "Dinner we will be searching for (spaghetti)";

            var testData = FakeDinnerData.CreateTestDinners();
            var dinner   = FakeDinnerData.CreateDinner();

            dinner.Title = searchterm;
            testData.Add(dinner);
            var repository = new FakeDinnerRepository(testData);

            var controller = new DinnersController(repository, new CommandServiceClient(), new DinnerReadModel());

            // Act
            // Get first page
            ViewResult             result = (ViewResult)controller.Index("etti", null);
            PaginatedList <Dinner> list   = result.ViewData.Model as PaginatedList <Dinner>;

            // Assert
            Assert.AreEqual(searchterm, list.First().Title);
        }
        public void CreateAction_With_New_Dinner_Should_Return_View_And_Repo_Should_Contain_New_Dinner()
        {
            // Arrange
            var mock = new Mock <ControllerContext>();

            mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("ScottHa");
            mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

            var testData   = FakeDinnerData.CreateTestDinners();
            var repository = new FakeDinnerRepository(testData);
            var controller = new DinnersController(repository);

            controller.ControllerContext = mock.Object;

            var dinner = FakeDinnerData.CreateDinner();

            // Act
            ActionResult result = (ActionResult)controller.Create(dinner);

            // Assert
            Assert.AreEqual(102, repository.FindAllDinners().Count());
            Assert.IsInstanceOf(typeof(RedirectToRouteResult), result);
        }
Beispiel #11
0
 public void GetByIdTest()
 {
     var dinnersController = new DinnersController();
     Assert.That(dinnersController.GetById(1).Name, Is.EqualTo("cumpleaños"));
 }
        public void CreateAction_With_New_Dinner_Should_Return_View_And_Repo_Should_Contain_New_Dinner()
        {
            // Arrange
            var mock = new Mock<ControllerContext>();
            mock.SetupGet(p => p.HttpContext.User.Identity.Name).Returns("ScottHa");
            mock.SetupGet(p => p.HttpContext.Request.IsAuthenticated).Returns(true);

            var testData = FakeDinnerData.CreateTestDinners();
            var repository = new FakeDinnerRepository(testData);
            var controller = new DinnersController(repository);
            controller.ControllerContext = mock.Object;

            var dinner = FakeDinnerData.CreateDinner();

            // Act
            ActionResult result = (ActionResult)controller.Create(dinner);

            // Assert
            Assert.AreEqual(102, repository.FindAllDinners().Count());
            //Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
        }