public IActionResult Post([FromBody]CreateFoodTruckModel createModel)
        {
            var createCommand = this.mapper.Map<CreateFoodTruckModel, CreateFoodTruckCommand>(createModel);

            FoodTruck foodTruck = this.foodTruckService.CreateFoodTruck(createCommand);

            var model = this.mapper.Map<FoodTruck, FoodTruckModel>(foodTruck);
            return this.CreatedAtRoute(GET_FOOD_TRUCK_BY_ID, new { id = model.FoodTruckId }, model);
        }
        public void TagsArrayCanBeNull()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "Food Truck Name",
                Description = "Some very interesting description",
                Website     = @"http://www.foodtruck.com",
                Tags        = null
            };

            // Act
            CreateFoodTruckModelValidator validator = new CreateFoodTruckModelValidator();
            var result = validator.Validate(model);

            // Assert
            result.IsValid.Should().BeTrue();
        }
Esempio n. 3
0
        public void TestCreateFoodTruckModelWithInvalidUrl()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "My Food Truck",
                Description = "A simple description of this food truck",
                Website     = @"htp://simplefoodtruck.com",
                Tags        = new List <String>()
                {
                    "Burgers", "Nachos", "Wings"
                }
            };

            // Act
            List <ValidationResult> results = new List <ValidationResult>();
            var valid = Validator.TryValidateObject(model, new ValidationContext(model), results, true);

            // Assert
            Assert.False(valid);
        }
Esempio n. 4
0
        public void TestCreateFoodTruckModelWithTooLongOfName()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "This Food Truck has a very very long name", // 41 chars, max is 40
                Description = "A simple description of this food truck",
                Website     = @"http://simplefoodtruck.com",
                Tags        = new List <String>()
                {
                    "Burgers", "Nachos", "Wings"
                }
            };

            // Act
            List <ValidationResult> results = new List <ValidationResult>();
            var valid = Validator.TryValidateObject(model, new ValidationContext(model), results, true);

            // Assert
            Assert.False(valid);
        }
Esempio n. 5
0
        public void CreateFoodTruckModelWithSingleQuoteInNameShouldPass()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "David's Food Truck",
                Description = "A simple description of this food truck",
                Website     = @"http://foodtruckdavid.com",
                Tags        = new List <String>()
                {
                    "Burgers", "Nachos", "Wings"
                }
            };

            // Act
            List <ValidationResult> results = new List <ValidationResult>();
            var valid = Validator.TryValidateObject(model, new ValidationContext(model), results, true);

            // Assert
            Assert.True(valid);
        }
        public void FoodTruckWithNullNameFails()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = null,
                Description = "Some very interesting description",
                Website     = @"http://www.foodtruck.com",
                Tags        = new List <string>()
                {
                    "Burgers", "Sandwiches"
                }
            };

            // Act
            CreateFoodTruckModelValidator validator = new CreateFoodTruckModelValidator();
            var result = validator.Validate(model);

            // Assert
            result.IsValid.Should().BeFalse();
        }
        public void TagsArrayCannotContainInvalidEntries()
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "Food Truck Name",
                Description = "Some very interesting description",
                Website     = @"http://www.foodtruck.com",
                Tags        = new List <string>()
                {
                    "Burgers", "Pizza@"
                }
            };

            // Act
            CreateFoodTruckModelValidator validator = new CreateFoodTruckModelValidator();
            var result = validator.Validate(model);

            // Assert
            result.IsValid.Should().BeFalse();
        }
        public void InvalidWebsitesFail(String website)
        {
            // Arrange
            CreateFoodTruckModel model = new CreateFoodTruckModel()
            {
                Name        = "Food Truck Name",
                Description = "Some very interesting description",
                Website     = website,
                Tags        = new List <string>()
                {
                    "Burgers", "Sandwiches"
                }
            };

            // Act
            CreateFoodTruckModelValidator validator = new CreateFoodTruckModelValidator();
            var result = validator.Validate(model);

            // Assert
            result.IsValid.Should().BeFalse();
        }