Пример #1
0
        public void GetRestaurantsOnCuisineId_NoRestaurnats_Empty()
        {
            //arrange
            var expectedResponse = new API.ViewModels.Restaurant[] { };

            var repoResonse             = new Restaurant[] { };
            var cuisineId               = 5;
            var expectedCollectionCount = 0;

            MockRepository.Setup(m => m.DoseCuisineIdExist(cuisineId)).Returns(true);
            MockRepository.Setup(m => m.GetRestaurantForCuisine(cuisineId)).Returns(repoResonse);
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult  = ctrl.Get(cuisineId);
            var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Restaurant> >;


            //assert
            Assert.IsNotNull(contentResult, "Ok-200 status was not returned");
            Assert.IsNotNull(contentResult.Content, "No content was returned");
            RestaurantsControllerTests.ValidateRestaurantCollectionResponse(contentResult.Content, expectedResponse, expectedCollectionCount);
        }
Пример #2
0
        public void GetRestaurantsOnCuisineId_OneRestaurnat_OK()
        {
            //arrange
            var expectedRestID          = 1234;
            var cuisineName             = "Mexican";
            var cuisineId               = 10;
            var restName                = "No1 Mexican Restaurant";
            var createdUser             = 10;
            var expectedCollectionCount = 1;
            var cuisine = new Cuisine
            {
                Name      = cuisineName,
                Id        = cuisineId,
                CreatedBy = createdUser,
                UpdatedBy = createdUser
            };

            var expectedResponse = new[]
            {
                new API.ViewModels.Restaurant {
                    Id            = expectedRestID,
                    AverageRating = 0,
                    CuisineName   = cuisineName,
                    CuisineId     = cuisineId,
                    Name          = restName,
                    ReviewCount   = 0
                }
            };

            var repoResonse = new[]
            {
                new Restaurant
                {
                    Id        = expectedRestID,
                    CreatedBy = createdUser,
                    UpdatedBy = createdUser,
                    Cuisine   = cuisine,
                    Name      = restName
                }
            };

            MockRepository.Setup(m => m.DoseCuisineIdExist(cuisineId)).Returns(true);
            MockRepository.Setup(m => m.GetRestaurantForCuisine(cuisineId)).Returns(repoResonse);
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);


            //act
            var actionResult  = ctrl.Get(cuisineId);
            var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Restaurant> >;

            //assert
            Assert.IsNotNull(contentResult, "Ok-200 status was not returned");
            Assert.IsNotNull(contentResult.Content, "No content was returned");
            RestaurantsControllerTests.ValidateRestaurantCollectionResponse(contentResult.Content, expectedResponse, expectedCollectionCount);
        }
Пример #3
0
        public void SaveToDb_ReturnsCorrectView_True()
        {
            //Arrange
            CuisinesController controller = new CuisinesController();

            //Act
            ActionResult SaveToDbView = controller.SaveToDb("testName");

            //Assert
            Assert.IsInstanceOfType(SaveToDbView, typeof(ViewResult));
        }
Пример #4
0
        public void AddNew_ReturnsCorrectView_True()
        {
            //Arrange
            CuisinesController controller = new CuisinesController();

            //Act
            ActionResult addNewView = controller.AddNew();

            //Assert
            Assert.IsInstanceOfType(addNewView, typeof(ViewResult));
        }
Пример #5
0
        public void GetAllCuisines_ServerException_InternalError()
        {
            //arrange
            MockIdentity.Setup(m => m.GetRequestingUserId()).Throws(new Exception());

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult = ctrl.Get();

            // assert
            Assert.IsInstanceOfType(actionResult, typeof(InternalServerErrorResult));
        }
Пример #6
0
        public void GetAllCuisines_twoCuisine_OK()
        {
            //arrange
            var cuisineName  = "Mexican";
            var cuisineId    = 1;
            var createdUser  = 10;
            var cuisineName2 = "Indian";
            var cuisineId2   = 2;

            var cuisine1 = new Cuisine
            {
                Name      = cuisineName,
                Id        = cuisineId,
                CreatedBy = createdUser,
                UpdatedBy = createdUser
            };
            var cuisine2 = new Cuisine
            {
                Name      = cuisineName2,
                Id        = cuisineId2,
                CreatedBy = createdUser,
                UpdatedBy = createdUser
            };
            var expectedResponse = new List <API.ViewModels.Cuisine>()
            {
                new API.ViewModels.Cuisine {
                    Id = cuisineId, Name = cuisineName
                },
                new API.ViewModels.Cuisine {
                    Id = cuisineId2, Name = cuisineName2
                }
            };
            var expectedCuisineCount = 2;

            var repoResonse = new[] { cuisine1, cuisine2 };

            MockRepository.Setup(m => m.GetAllCuisines()).Returns(repoResonse);
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult  = ctrl.Get();
            var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Cuisine> >;

            //assert
            Assert.IsNotNull(contentResult, "Ok-200 status was not returned");
            Assert.IsNotNull(contentResult.Content, "No content was returned");
            ValidateCuisineCollectionResponse(contentResult, expectedResponse, expectedCuisineCount);
        }
Пример #7
0
        public void GetAllCuisines_DatabaseException_BadData()
        {
            //arrange
            MockRepository.Setup(m => m.GetAllCuisines())
            .Throws(new Exception());
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult = ctrl.Get();

            // assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
Пример #8
0
        public void GetRestaurantsOnCuisineId_DatabaseException_BadData()
        {
            //arrange
            var cuisineId = 4;

            MockRepository.Setup(m => m.DoseCuisineIdExist(cuisineId)).Returns(true);
            MockRepository.Setup(m => m.GetRestaurantForCuisine(cuisineId)).Throws(new Exception());
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult = ctrl.Get(cuisineId);

            // assert
            Assert.IsInstanceOfType(actionResult, typeof(BadRequestResult));
        }
Пример #9
0
        public void GetRestaurantsOnCuisineId_InvalidCuisineID_NotFound()
        {
            //arrange
            var repoResonse = new Restaurant[] { };
            var cuisineId   = 5;

            MockRepository.Setup(m => m.DoseCuisineIdExist(cuisineId)).Returns(false);
            MockRepository.Setup(m => m.GetRestaurantForCuisine(cuisineId)).Returns(repoResonse);
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult = ctrl.Get(cuisineId);

            // assert
            Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult));
        }
Пример #10
0
        public void GetAllCuisines_NoCuisine_Empty()
        {
            //arrange
            var expectedResponse     = new List <API.ViewModels.Cuisine>();
            var expectedCuisineCount = 0;

            var repoResonse = Enumerable.Empty <Domain.Cuisine>();

            MockRepository.Setup(m => m.GetAllCuisines()).Returns(repoResonse);
            MockIdentity.Setup(m => m.GetRequestingUserId()).Returns(10);

            var ctrl = new CuisinesController(MockRepository.Object, MockLogger.Object, MockIdentity.Object);

            //act
            var actionResult  = ctrl.Get();
            var contentResult = actionResult as OkNegotiatedContentResult <IEnumerable <API.ViewModels.Cuisine> >;

            //assert
            Assert.IsNotNull(contentResult, "Ok-200 status was not returned");
            Assert.IsNotNull(contentResult.Content, "No content was returned");
            ValidateCuisineCollectionResponse(contentResult, expectedResponse, expectedCuisineCount);
        }