public void CanEditEstablishment()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);

            // Action
            var e1 = controller.Edit(1).ViewData.Model as Establishment;
            var e2 = controller.Edit(2).ViewData.Model as Establishment;
            var e3 = controller.Edit(3).ViewData.Model as Establishment;

            // Assert
            Assert.AreEqual(1, e1.EstablishmentId);
            Assert.AreEqual(2, e2.EstablishmentId);
            Assert.AreEqual(3, e3.EstablishmentId);
        }
Example #2
0
        public void IndexReturnsEntireEstablishmentList()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);

            // Action
            Establishment[] result = ((IEnumerable<Establishment>)controller.Index().ViewData.Model).ToArray();

            // Assert
            Assert.AreEqual(result.Length, 5);
            Assert.AreEqual("E1", result[0].Name);
            Assert.AreEqual("E2", result[1].Name);
            Assert.AreEqual("E3", result[2].Name);
            Assert.AreEqual("E4", result[3].Name);
            Assert.AreEqual("E4", result[4].Name);
        }
        public void CannotEditNonexistentProduct()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);

            // Action
            var result = (Establishment) controller.Edit(6).ViewData.Model;

            // Assert
            Assert.IsNull(result);
        }
        public void CannotDeleteInvalidEstablishments()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);

            // Action - attempt to delete using a EstablishmentId that does not exist
            controller.Delete(95);

            // assert - ensure that the repository Delete method was not called
            _mockRepository.Verify(m => m.DeleteEstablishment(It.IsAny<Establishment>()), Times.Never());
        }
        public void CanDeleteValidEstablishments()
        {
            // Arrange - create a establishment
            var establishment = new Establishment {EstablishmentId = 2, Name = "Test"};

            // Arrange - create a local mock repository
            var localMock = new Mock<IEstablishmentRepository>();
            localMock.Setup(m => m.Establishments).Returns(new[]
                {
                    new Establishment {EstablishmentId = 1, Name = "P1"},
                    establishment,
                    new Establishment {EstablishmentId = 3, Name = "P3"}
                }.AsQueryable());

            // Arrange - create a controller
            var controller = new EstablishmentController(localMock.Object);

            // Action - delete the product
            controller.Delete(establishment.EstablishmentId);

            // assert - ensure that the repository Delete method was called with the correct Product
            localMock.Verify(m => m.DeleteEstablishment(establishment));
        }
        public void CannotSaveInvalidChanges()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);
            // Arrange - create a product
            var establishment = new Establishment {Name = "Test"};
            // Arrange - add an error to the model state
            controller.ModelState.AddModelError("error", "error");

            // Action - try to save the product
            ActionResult result = controller.Edit(establishment, null);

            // Assert - check that the repository was called
            _mockRepository.Verify(m => m.SaveEstablishment(It.IsAny<Establishment>()), Times.Never());
            // Assert - check the method result type
            Assert.IsInstanceOfType(result, typeof (ViewResult));
        }
        public void CanSaveValidChanges()
        {
            // Arrange - create a controller
            var controller = new EstablishmentController(_mockRepository.Object);
            // Arrange - create a product
            var establishment = new Establishment {Name = "Test"};

            // Action - try to save the establishment
            ActionResult result = controller.Edit(establishment, null);

            // Assert - check that the repository was called
            _mockRepository.Verify(m => m.SaveEstablishment(establishment));
            // Assert - check the method result type
            Assert.IsNotInstanceOfType(result, typeof (ViewResult));
        }