public void Throw_WhenInvalidParametersAreProvided(string userID, string restaurantName, int countOfTables)
        {
            // Arrange
            var restaurantRepository = new Mock <IEfRepository <Restaurant> >();
            var userRepository       = new Mock <IEfRepository <User> >();
            var tableRepository      = new Mock <IEfRepository <Table> >();
            var userRoleService      = new Mock <IUserRoleService>();
            var saveContext          = new Mock <ISaveContext>();

            ICollection <User> usersCollection = new List <User>();

            userRepository.Setup(u => u.All).Returns(() =>
            {
                return(usersCollection.AsQueryable());
            });

            IRestaurantService restaurantService = new RestaurantService(
                restaurantRepository.Object,
                userRepository.Object,
                tableRepository.Object,
                userRoleService.Object,
                saveContext.Object);

            // Act & Assert
            Assert.Throws <NullReferenceException>(() =>
                                                   restaurantService.CreateRestaurant(userID, restaurantName, countOfTables));
        }
示例#2
0
        public void CreateRestaurants_GivenRestaurant_CallsRepositoryMethod()
        {
            var restuarant = new Restaurant();

            _restaurantService.CreateRestaurant(restuarant);

            _mockRepository.Verify(x => x.Add(It.IsAny <Restaurant>()), Times.AtLeastOnce);
        }
        public void CreateRestaurantFailNameTest()
        {
            RestaurantModel restaurantModel = new RestaurantModel()
            {
                City         = "Main City",
                EmailAddress = "*****@*****.**",
                PhoneNumber  = "32168",
            };

            // Setup Mock
            var httpRequest = CreateMockRequest(restaurantModel);
            var result      = RestaurantService.CreateRestaurant(httpRequest.Object, this.mockBlobContainer.Object, this.log, this.context).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(typeof(BadRequestObjectResult), result.GetType());
        }
示例#4
0
        public void Get_NoParameters_ReturnsAllRestaurants()
        {
            var first = new Restaurant {
                RestaurantId = Guid.NewGuid(), RestaurantPublicId = Guid.NewGuid(), AverageRating = 10
            };
            var second = new Restaurant {
                RestaurantId = Guid.NewGuid(), RestaurantPublicId = Guid.NewGuid(), AverageRating = 10
            };
            var third = new Restaurant {
                RestaurantId = Guid.NewGuid(), RestaurantPublicId = Guid.NewGuid(), AverageRating = 10
            };

            _testContext.Restaurants.RemoveRange(_testContext.Restaurants);
            _restaurantService.CreateRestaurant(first);
            _restaurantService.CreateRestaurant(second);
            _restaurantService.CreateRestaurant(third);

            var result = _restaurantService.Get();

            const int expected = 3;

            Assert.AreEqual(expected, result.Count);
        }
        public void CreateAndSetTablesInProvidedCount_WhenValidParametersAreProvided(string userID, string restaurantName, int countOfTables)
        {
            // Arrange
            var restaurantRepository = new Mock <IEfRepository <Restaurant> >();
            var userRepository       = new Mock <IEfRepository <User> >();
            var tableRepository      = new Mock <IEfRepository <Table> >();
            var userRoleService      = new Mock <IUserRoleService>();
            var saveContext          = new Mock <ISaveContext>();

            var user = new User()
            {
                Id           = userID,
                Email        = "*****@*****.**",
                PasswordHash = "password"
            };

            ICollection <User> usersCollection = new List <User>();

            usersCollection.Add(user);

            userRepository.Setup(u => u.All).Returns(() =>
            {
                return(usersCollection.AsQueryable());
            });

            IRestaurantService restaurantService = new RestaurantService(
                restaurantRepository.Object,
                userRepository.Object,
                tableRepository.Object,
                userRoleService.Object,
                saveContext.Object);

            //Act
            restaurantService.CreateRestaurant(userID, restaurantName, countOfTables);

            //Assert
            Assert.IsNotNull(user.Restaurant.Tables);
            Assert.AreEqual(user.Restaurant.Tables.Count, countOfTables);
        }
示例#6
0
        /// <summary>
        /// Produces new restaurants and add them to data source
        /// </summary>
        /// <param name="count">how many restaurants will be created</param>
        public void GenerateRestaurants(int count)
        {
            var request = BuildCreateRestaurantRequest(count);

            _restaurantService.CreateRestaurant(request);
        }