public async Task AddTable_WithCorrectData_ShouldCreateSucessfully() { var errorMessage = "Table service AddTable() method is not working correctly."; var context = ReserveTableDbContextInMemoryFactory.InitializeContext(); this.tableService = new TableService(context); await SeedData(context); AddTableBindingModel model = new AddTableBindingModel { SeatsCount = 5 }; RestaurantServiceModel restaurant = new RestaurantServiceModel { Id = "1", Address = "Ivan Vazov", AverageRating = 10, Name = "Happy", PhoneNumber = "08888888888", Photo = "src/happy-photo.jpg", CityId = "1" }; var actualResult = await this.tableService.AddTable(model, restaurant); Assert.True(actualResult, errorMessage); }
public async Task AddTable_InInvalidRestaurant_ShouldNotCreate() { var context = ReserveTableDbContextInMemoryFactory.InitializeContext(); this.tableService = new TableService(context); await SeedData(context); AddTableBindingModel model = new AddTableBindingModel { SeatsCount = 5 }; RestaurantServiceModel restaurant = new RestaurantServiceModel { Id = "3", Address = "Ivan Vazov", AverageRating = 10, Name = "Happy", PhoneNumber = "08888888888", Photo = "src/happy-photo.jpg", CityId = "1" }; await Assert.ThrowsAsync <ArgumentNullException>(() => tableService.AddTable(model, restaurant)); }
public async Task <IActionResult> Add(string city, string restaurant, AddTableBindingModel model) { RestaurantServiceModel restaurantFromDb = await restaurantService.GetRestaurantByNameAndCity(city, restaurant); if (ModelState.IsValid) { await tablesService.AddTable(model, restaurantFromDb); } return(this.Redirect($"/Tables/{city}/{restaurant}")); }
public async Task <bool> AddTable(AddTableBindingModel model, RestaurantServiceModel restaurantServiceModel) { var table = new Table { SeatsCount = model.SeatsCount, RestaurantId = restaurantServiceModel.Id }; ValidateTable(table); CheckIfRestaurantExists(restaurantServiceModel); await dbContext.Tables.AddAsync(table); var result = await dbContext.SaveChangesAsync(); return(result > 0); }