public IActionResult EditRestaurant(RestoBTO restoBTO) { if (!ModelState.IsValid) { return(View(restoBTO)); } restoBTO.Cuisines = restoBTO.Cuisines.Where(x => x.Selected).ToList(); restoBTO.Pictures = pictureUC.GetAllPicturesByRestaurantId(restoBTO.Id).ToList(); var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.UpdateRestaurant(restoBTO); if (result == null) { return(RedirectToAction("Error", new { errorMessage = "We can't update this restaurant, please contact support" })); } if (User.IsInRole("Administrators")) { return(RedirectToAction("GetAllRestaurantsAdmin")); } else { return(RedirectToAction("GetRestaurantsByRestaurantManager")); } }
public IActionResult GetOpenRestaurantByDate(DateTime searchDate) { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.FindOpenRestaurantsByDate(searchDate); return(View("GetAllRestaurants", result)); }
public void FindOpenRestaurantsByDate_Should_Return_New_List_When_Any_Resto_Is_Open() { //Arrange var mock = new Mock <IRestoRepository>(); var schedules = new List <ScheduleDTO>(); var schedule = new ScheduleDTO { TimeOpen = DateTime.Now, TimeClosed = DateTime.Now.AddHours(3), DayOfWeek = (int)DateTime.Now.DayOfWeek }; schedules.Add(schedule); mock.Setup(x => x.GetAll()).Returns(new List <RestoDTO>() { new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1", Schedules = new List <ScheduleDTO>() }, new RestoDTO { City = "Bruxelles", Id = 2, Name = "R2", Schedules = new List <ScheduleDTO>() }, new RestoDTO { City = "Liege", Id = 3, Name = "R3", Schedules = new List <ScheduleDTO>() }, }); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.FindOpenRestaurantsByDate(schedule.TimeOpen).ToList(); //Assert Assert.AreEqual(result.Count, 0); }
public IActionResult DeleteRestaurant(int id) { var restaurantUC = new RestaurantUC(restoRepository); var resto = restaurantUC.GetRestaurantById(id); if (resto == null) { return(RedirectToAction("Error", new { errorMessage = "Sorry! We don't find the restaurant with this Id" })); } else { try { restaurantUC.DeleteRestaurant(id); } catch { throw new Exception("A problem occured..."); } if (User.IsInRole("Administrators")) { return(RedirectToAction("GetAllRestaurantsAdmin")); } else { return(RedirectToAction("GetRestaurantsByRestaurantManager")); } } }
public IActionResult CreateRestaurant(RestoBTO restoBTO) { var count = restoBTO.Cuisines.Count(x => x.Selected); if (!ModelState.IsValid) { return(View(restoBTO)); } restoBTO.Cuisines = restoBTO.Cuisines.Where(x => x.Selected).ToList(); var restaurantUC = new RestaurantUC(restoRepository); if (restoBTO.UserManagerId == null) { restoBTO.UserManagerId = User.FindFirst(ClaimTypes.NameIdentifier).Value; } var result = restaurantUC.AddRestaurant(restoBTO); if (result == null) { return(RedirectToAction("Error", new { errorMessage = "We can't add this restaurant, please contact support" })); } if (User.IsInRole("Administrators")) { return(RedirectToAction("GetAllRestaurantsAdmin")); } else { return(RedirectToAction("GetRestaurantsByRestaurantManager")); } }
public void GetAllRestaurants_Should_Return_Proper_Collection() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetAll()).Returns(new List <RestoDTO>() { new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }, new RestoDTO { City = "Bruxelles", Id = 2, Name = "R2" }, new RestoDTO { City = "Liege", Id = 3, Name = "R3" }, }); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetAllRestaurants().ToList(); //Assert Assert.AreEqual(result.Count, 3); Assert.AreEqual(result[0].Id, 1); Assert.AreEqual(result[2].Name, "R3"); }
public void GetRestaurantsByRestaurantManager_Should_Return_Valid_Data() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetRestaurantsByRestaurantManager("1")).Returns(new List <RestoDTO>() { new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1", UserManagerId = "1" }, new RestoDTO { City = "Liege", Id = 2, Name = "R2", UserManagerId = "1" }, } ); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetRestaurantsByRestaurantManager("1").ToList(); //Assert Assert.AreEqual(result[0].Id, 1); Assert.AreEqual(result[0].City, "Bruxelles"); Assert.AreEqual(result[1].Name, "R2"); Assert.AreEqual(result.Count, 2); }
public IActionResult CreateBasket(DateTime arrivalDate) { basketUC = GetBasketUC(); if (basketUC.shoppingMeals.Count() == 0) { return(RedirectToAction("Error", new { errorMessage = "Sorry, your basket is empty..." })); } if (!ModelState.IsValid) { return(View(basketUC)); } var basketBTO = new BasketBTO(); basketBTO.ArrivalDate = arrivalDate; RestaurantUC restoUC = new RestaurantUC(restoRepository); basketBTO.ShoppingMeals = basketUC.shoppingMeals .Select(x => x.ShoppingMealDomainToBTO()) .ToList(); basketBTO.UserId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? null; if (basketBTO.UserId == null) { return(RedirectToAction("Error", new { errorMessage = "You have to be logged to complete your order" })); } if (!restoUC.IsOpen(basketUC.restoId, basketBTO.ArrivalDate)) { return(RedirectToAction("Error", new { errorMessage = "The restaurant will be closed at this hour" })); } var result = basketUC.AddBasket(basketBTO); basketUC.ClearShoppingMeals(); if (basketUC.shoppingMeals.Count == 0) { HttpContext.Session.Clear(); } if (result == null) { return(RedirectToAction("Error", new { errorMessage = "We can't add this basket, please contact support" })); } string email = restoUC.FindRestoMailByRestoId(basketUC.restoId); if (!String.IsNullOrEmpty(email)) { _emailSender.SendEmailAsync(email, "You have a new order", "See your orders by clicking here"); } return(View(result)); }
public void FindRestoMailByRestoId_Should_Return_Null_When_Wrong_Id() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.FindRestoMailByRestoId(1)).Returns("*****@*****.**"); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.FindRestoMailByRestoId(-1); //Assert Assert.IsNull(result); }
public void FindRestoMailByRestoId_Should_Return_Valid_Data() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.FindRestoMailByRestoId(1)).Returns("*****@*****.**"); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.FindRestoMailByRestoId(1); //Assert Assert.AreEqual("*****@*****.**", result); }
public IActionResult GetAllRestaurantsAdmin() { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.GetAllRestaurants(); if (result != null || result.ToList().Count == 0) { return(View(result)); } else { return(RedirectToAction("", "Sorry! There is any restaurant in our database")); } }
public IActionResult RestaurantDetails(int id) { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.GetRestaurantById(id); if (result != null) { return(View(result)); } else { return(RedirectToAction("Error", new { errorMessage = "Sorry! We don't find this restaurant" })); } }
//Get restaurant by city public IActionResult GetRestaurantByCity(string city) { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.FindRestaurantByCity(city); if (result.ToList().Count != 0) { return(View(result)); } else { return(RedirectToAction("Error", new { errorMessage = "Sorry! We don't find any restaurant with this city" })); } }
public void GetAllRestaurantsByCuisineId_Should_Return_New_List_When_Not_Found() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetAllByCuisineId(1)).Returns(new List <RestoDTO>()); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetAllRestaurantsByCuisineId(1).ToList(); //Assert Assert.AreEqual(result.Count, 0); }
public IActionResult GetRestaurantByCuisine(int id) { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.GetAllRestaurantsByCuisineId(id); if (result.ToList().Count != 0) { return(View("GetAllRestaurants", result)); } else { return(RedirectToAction("Error", new { errorMessage = "Sorry! We don't find any restaurant with this cuisine" })); } }
public IActionResult GetRestaurantsByRestaurantManager() { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.GetRestaurantsByRestaurantManager(User.FindFirst(ClaimTypes.NameIdentifier).Value).ToList(); if (result.ToList().Count != 0) { return(View(result)); } else { return(RedirectToAction("Error", new { errorMessage = "Sorry! You don't have any restaurant" })); } }
public void GetRestaurantById_Should_Return_Null_When_Not_Found() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetById(25)); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetRestaurantById(25); //Assert Assert.AreEqual(null, result); Assert.IsNull(result); }
public IActionResult GetBasketsByRestoId(int restoId) { var result = basketUC.GetBasketsByRestoId(restoId).ToList(); RestaurantUC restoUC = new RestaurantUC(restoRepository); foreach (var item in result) { foreach (var shoppingMeal in item.ShoppingMeals) { shoppingMeal.Meal.MealType = mealTypeUC.GetMealTypeById(shoppingMeal.Meal.MealTypeID); shoppingMeal.Meal.MealType.Restaurant = restoUC.GetRestaurantById(shoppingMeal.Meal.MealType.RestaurantId); } } return(View(result.OrderBy(x => x.ArrivalDate).ToList())); }
public IActionResult GetBasketsByUserId() { var result = basketUC.GetBasketsByUserId(User.FindFirst(ClaimTypes.NameIdentifier).Value).ToList(); RestaurantUC restoUC = new RestaurantUC(restoRepository); foreach (var item in result) { foreach (var shoppingMeal in item.ShoppingMeals) { shoppingMeal.Meal.MealType = mealTypeUC.GetMealTypeById(shoppingMeal.Meal.MealTypeID); shoppingMeal.Meal.MealType.Restaurant = restoUC.GetRestaurantById(shoppingMeal.Meal.MealType.RestaurantId); } } result = result.OrderBy(x => x.ArrivalDate).ToList(); return(View(result)); }
public void FindRestaurantByCity_Should_Return_Empty_List_If__There_Is_No_City() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.FindByCity("Bruxelles")).Returns(new List <RestoDTO>() { }); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.FindRestaurantByCity("Bruxelles").ToList(); //Assert Assert.AreEqual(result.Count, 0); }
public void IsOpen_Should_Return_True_When_Valid_Data() { //Arrange var mock = new Mock <IRestoRepository>(); var date = DateTime.Now; date = date.AddMonths(1); mock.Setup(x => x.RestaurantIsOpen(1, date)).Returns(true); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.IsOpen(1, date); //Assert Assert.IsTrue(result); }
public void IsOpen_Should_Return_False_When_ArrivalDate_Is_Before_Now() { //Arrange var mock = new Mock <IRestoRepository>(); var date = DateTime.Now; date = date.AddMonths(-1); mock.Setup(x => x.RestaurantIsOpen(1, date)).Returns(true); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.IsOpen(1, date); //Assert Assert.IsFalse(result); }
public void DeleteRestaurant_Should_Work() { //Arrange var mock = new Mock <IRestoRepository>(); var myResto = new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }; mock.Setup(x => x.Delete(1)); RestaurantUC target = new RestaurantUC(mock.Object); //Act target.DeleteRestaurant(1); //Assert mock.Verify(u => u.Delete(It.IsAny <int>()), Times.Once()); }
public void UpdateRestaurant_Should_Return_Null_If_No_Result_Found_In_Db() { //Arrange var mock = new Mock <IRestoRepository>(); var myResto = new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }; mock.Setup(x => x.Update(myResto)); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.UpdateRestaurant(new RestoBTO { City = "Bruxelles", Id = 1, Name = "R1" }); //Assert Assert.IsNull(result); }
public void GetRestaurantById_Should_Return_Valid_Data() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetById(1)).Returns( new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" } ); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetRestaurantById(1); //Assert Assert.AreEqual(result.Id, 1); Assert.AreEqual(result.City, "Bruxelles"); Assert.AreEqual(result.Name, "R1"); }
public void CreateRestaurant_Should_Return_Null_If_Dto_Is_Null() { //Arrange var mock = new Mock <IRestoRepository>(); var myResto = new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }; mock.Setup(x => x.Create(myResto)).Returns( new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" } ); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.AddRestaurant(null); //Assert Assert.IsNull(result); }
public IActionResult EditRestaurant(int id) { var restaurantUC = new RestaurantUC(restoRepository); var result = restaurantUC.GetRestaurantById(id); if (result.Pictures.Count == 0) { result.Pictures = new List <PictureBTO>().DefaultIfEmpty().ToList(); } result.Cuisines = cuisineUC.GetAllCuisinesByRestaurantId(result.Id).ToList(); //var cuisinesChecked = if (result != null) { return(View(result)); } else { return(RedirectToAction("Error", new { errorMessage = "Sorry! We don't find the restaurant with this Id" })); } }
public void CreateRestaurant_Should_Return_Valid_Data() { //Arrange var mock = new Mock <IRestoRepository>(); var myResto = new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }; mock.Setup(x => x.Create(myResto)).Returns( new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" } ); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.AddRestaurant(new RestoBTO { City = "Bruxelles", Id = 1, Name = "R1" }); //Assert mock.Verify(u => u.Create(It.IsAny <RestoDTO>()), Times.Once()); }
public void GetRestaurantsByRestaurantManager_Should_Return_Empty_List_If_Param_Null() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.GetRestaurantsByRestaurantManager("1")).Returns(new List <RestoDTO>() { new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1", UserManagerId = "1" }, new RestoDTO { City = "Liege", Id = 2, Name = "R2", UserManagerId = "1" }, } ); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.GetRestaurantsByRestaurantManager("").ToList(); //Assert Assert.AreEqual(result.Count, 0); }
public void FindRestaurantByCity_Should_Return_Proper_Collection() { //Arrange var mock = new Mock <IRestoRepository>(); mock.Setup(x => x.FindByCity("Bruxelles")).Returns(new List <RestoDTO>() { new RestoDTO { City = "Bruxelles", Id = 1, Name = "R1" }, new RestoDTO { City = "Bruxelles", Id = 2, Name = "R2" }, }); RestaurantUC target = new RestaurantUC(mock.Object); //Act var result = target.FindRestaurantByCity("Bruxelles").ToList(); //Assert Assert.AreEqual(result.Count, 2); Assert.AreEqual(result[0].Id, 1); Assert.AreEqual(result[0].Name, "R1"); }