public IHttpActionResult PostRestaurantReview(RestaurantReviewDTO restaurantReviewDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { restaurantsService = new RestaurantsService(User.Identity.Name); } catch (UserNotFoundException) { return(null); } var config = new MapperConfiguration(cfg => { cfg.CreateMap <RestaurantReviewDTO, RestaurantReview>(); }); IMapper iMapper = config.CreateMapper(); RestaurantReview restaurantReview = iMapper.Map <RestaurantReviewDTO, RestaurantReview>(restaurantReviewDTO); restaurantsService.AddReview(restaurantReview); return(CreatedAtRoute("DefaultApi", new { id = restaurantReview.RestaurantReviewId }, restaurantReviewDTO)); }
public async Task Check_Restaurant_Seeder() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; this.dbContext = new ApplicationDbContext(options); var restaurantRepository = new EfDeletableEntityRepository <Restaurant>(this.dbContext); var restaurantReservationRepository = new EfDeletableEntityRepository <RestaurantReservation>(this.dbContext); await restaurantRepository.AddAsync(new Restaurant { Id = "restaurantid", CurrentCapacity = 100, MaxCapacity = 100, Description = "restaurant", Price = 50, Title = "restaurant", }); await restaurantRepository.SaveChangesAsync(); this.restaurantsService = new RestaurantsService(restaurantRepository, restaurantReservationRepository); var actualResult = restaurantRepository.All().ToList(); int expectedResult = 1; Assert.Equal(actualResult.Count(), expectedResult); }
public void MethodCreateShould_CallUnitOfWorkMethodCommit(string name, string contact, string weekendHours, string weekdaayHours, string photo, string details, int averageBill, string address, int maxPeopleCount) { var restaurant = new Restaurant() { ManagerId = managerId, Address = address, Name = name, Contact = contact, WeekendHours = weekendHours, WeekdayHours = weekdaayHours, Details = details, AverageBill = averageBill, MaxPeopleCount = maxPeopleCount }; factoryMock.Setup(f => f.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount)) .Returns(restaurant); var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); service.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount); unitOfWorkMock.Verify(f => f.Commit(), Times.Once); }
public void EditPlaceShould_CallRepositoryMethodUpdate(string contact, string details, string photoUrl, string weekendHours, string weekdaayHours, int averageBill, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var id = Guid.NewGuid(); var place = new Restaurant() { Id = id, Contact = "contact", WeekendHours = "00:00 - 00:00", WeekdayHours = "00:00 - 00:00", Details = "details", AverageBill = 0, }; repositoryMock.Setup(r => r.GetById(id)).Returns(place); var edittedPlace = place; edittedPlace.Contact = contact; edittedPlace.WeekendHours = weekendHours; edittedPlace.WeekdayHours = weekdaayHours; edittedPlace.Details = details; edittedPlace.AverageBill = averageBill; edittedPlace.MaxPeopleCount = maxPeopleCount; service.Edit(id, contact, details, photoUrl, weekdaayHours, weekendHours, averageBill, maxPeopleCount); repositoryMock.Verify(r => r.Update(edittedPlace), Times.Once); }
public void MethodCreateShould_ReturnCorrectResult(string name, string contact, string photo, string weekendHours, string weekdaayHours, string details, int averageBill, string address, int maxPeopleCount) { var restaurant = new Restaurant() { ManagerId = managerId, Address = address, Name = name, Contact = contact, WeekendHours = weekendHours, WeekdayHours = weekdaayHours, Details = details, AverageBill = averageBill, }; factoryMock.Setup(f => f.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount)) .Returns(restaurant); var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var result = service.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount); Assert.AreSame(restaurant, result); }
public void MethodEditShould_CallRepositoryMethodGetById(string contact, string details, string photoUrl, string weekendHours, string weekdaayHours, int averageBill, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var id = Guid.NewGuid(); service.Edit(id, contact, details, photoUrl, weekdaayHours, weekendHours, averageBill, maxPeopleCount); repositoryMock.Verify(r => r.GetById(id), Times.Once); }
public void MethodCreateShould_CallFactoryMethodCreaterestaurant(string name, string contact, string weekendHours, string weekdaayHours, string photo, string details, int averageBill, string address, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); service.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount); factoryMock.Verify(f => f.Create(name, contact, weekendHours, weekdaayHours, photo, details, averageBill, managerId, address, maxPeopleCount), Times.Once); }
public void EditPlaceShould_ReturnNull_WhenPlaceWasNotFound(string contact, string details, string photoUrl, string weekendHours, string weekdaayHours, int averageBill, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var id = Guid.NewGuid(); repositoryMock.Setup(r => r.GetById(id)).Returns((Restaurant)null); var result = service.Edit(id, contact, details, photoUrl, weekdaayHours, weekendHours, averageBill, maxPeopleCount); Assert.IsNull(result); }
public async Task Reserve_Restaurant_Should_Reserve_For_Choosen_Guests() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; this.dbContext = new ApplicationDbContext(options); var restaurantRepository = new EfDeletableEntityRepository <Restaurant>(this.dbContext); var restaurantReservationRepository = new EfDeletableEntityRepository <RestaurantReservation>(this.dbContext); await restaurantRepository.AddAsync(new Restaurant { Id = "restaurantid", CurrentCapacity = 100, MaxCapacity = 100, Description = "restaurant", Price = 50, Title = "restaurant", }); await restaurantRepository.SaveChangesAsync(); this.restaurantsService = new RestaurantsService(restaurantRepository, restaurantReservationRepository); var reservation = new RestaurantInputModel { EventDate = DateTime.Now.AddDays(1), CheckIn = DateTime.Now.AddDays(1).AddHours(10), CheckOut = DateTime.Now.AddDays(1).AddHours(11), NumberOfGuests = 50, EmailAddress = "*****@*****.**", FirstName = "Marian", LastName = "Kyuchukov", PhoneNumber = "0888186978", EventType = (RestaurantEventType)Enum.Parse(typeof(RestaurantEventType), "Birthday"), }; var result = await this.restaurantsService.ReserveRestaurant(reservation); var parsedEventType = (RestaurantEventType)Enum.Parse(typeof(RestaurantEventType), "Birthday"); var actualResult = restaurantReservationRepository.All().FirstOrDefault(x => x.EventType == parsedEventType).NumberOfGuests; var expected = 50; Assert.Equal(expected, actualResult); }
public async Task Get_All_Reservations_Should_Return_All_Reservations() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; this.dbContext = new ApplicationDbContext(options); var restaurantRepository = new EfDeletableEntityRepository <Restaurant>(this.dbContext); var restaurantReservationRepository = new EfDeletableEntityRepository <RestaurantReservation>(this.dbContext); await restaurantRepository.AddAsync(new Restaurant { Id = "restaurantid", CurrentCapacity = 100, MaxCapacity = 100, Description = "restaurant", Price = 50, Title = "restaurant", }); await restaurantRepository.SaveChangesAsync(); await restaurantReservationRepository.AddAsync(new RestaurantReservation { EventDate = DateTime.Now.AddDays(1), CheckIn = DateTime.Now.AddDays(1).AddHours(10), CheckOut = DateTime.Now.AddDays(1).AddHours(11), NumberOfGuests = 50, PhoneNumber = "0888186978", EventType = (RestaurantEventType)Enum.Parse(typeof(RestaurantEventType), "Birthday"), UserId = "1", }); this.restaurantsService = new RestaurantsService(restaurantRepository, restaurantReservationRepository); await restaurantReservationRepository.SaveChangesAsync(); int expectedResult = 1; var actualResult = await this.restaurantsService.GetAllReservationsAsyncForAdmin <RestaurantAllViewModel>(); Assert.Equal(actualResult.Count(), expectedResult); }
public async Task Reserve_Restaurant_Should_Reserve_Correct_EventType() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; this.dbContext = new ApplicationDbContext(options); var restaurantRepository = new EfDeletableEntityRepository <Restaurant>(this.dbContext); var restaurantReservationRepository = new EfDeletableEntityRepository <RestaurantReservation>(this.dbContext); await restaurantRepository.AddAsync(new Restaurant { Id = "restaurantid", CurrentCapacity = 100, MaxCapacity = 100, Description = "restaurant", Price = 50, Title = "restaurant", }); await restaurantRepository.SaveChangesAsync(); this.restaurantsService = new RestaurantsService(restaurantRepository, restaurantReservationRepository); await restaurantReservationRepository.AddAsync(new RestaurantReservation { EventDate = DateTime.Now.AddDays(1), CheckIn = DateTime.Now.AddDays(1).AddHours(10), CheckOut = DateTime.Now.AddDays(1).AddHours(11), NumberOfGuests = 50, PhoneNumber = "0888186978", EventType = (RestaurantEventType)Enum.Parse(typeof(RestaurantEventType), "Birthday"), }); await restaurantReservationRepository.SaveChangesAsync(); var actualResult = restaurantReservationRepository.All().First().EventType.ToString(); var expected = "Birthday"; Assert.Equal(expected, actualResult); }
// GET: api/RestaurantReviews/5 public IEnumerable <RestaurantReviewDTO> GetRestaurantReview(int id) { try { restaurantsService = new RestaurantsService(User.Identity.Name); } catch (UserNotFoundException) { return(null); } IEnumerable <RestaurantReview> restaurantReviews = restaurantsService.GetReviews(id); var config = new MapperConfiguration(cfg => { cfg.CreateMap <RestaurantReview, RestaurantReviewDTO>(); }); IMapper iMapper = config.CreateMapper(); return(iMapper.Map <IEnumerable <RestaurantReview>, IEnumerable <RestaurantReviewDTO> >(restaurantReviews)); }
public void EditPlaceShould_CallUnitOfWorkMethodCommit(string contact, string details, string photoUrl, string weekendHours, string weekdaayHours, int averageBill, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var id = Guid.NewGuid(); var place = new Restaurant() { Id = id, Contact = "contact", WeekendHours = "00:00 - 00:00", WeekdayHours = "00:00 - 00:00", Details = "details", AverageBill = 0, }; repositoryMock.Setup(r => r.GetById(id)).Returns(place); service.Edit(id, contact, details, photoUrl, weekdaayHours, weekendHours, averageBill, maxPeopleCount); unitOfWorkMock.Verify(u => u.Commit(), Times.Once); }
public void EditPlaceShould_ReturnCorrectResult(string contact, string details, string photoUrl, string weekendHours, string weekdaayHours, int averageBill, int maxPeopleCount) { var service = new RestaurantsService(repositoryMock.Object, unitOfWorkMock.Object, factoryMock.Object); var id = Guid.NewGuid(); var place = new Restaurant() { Id = id, Contact = "contact", WeekendHours = "00:00 - 00:00", WeekdayHours = "00:00 - 00:00", Details = "details", AverageBill = 0, }; repositoryMock.Setup(r => r.GetById(id)).Returns(place); var edittedPlace = new Restaurant() { Id = id, Contact = contact, WeekendHours = weekendHours, WeekdayHours = weekdaayHours, Details = details, AverageBill = averageBill, MaxPeopleCount = maxPeopleCount }; var result = service.Edit(id, contact, details, photoUrl, weekdaayHours, weekendHours, averageBill, maxPeopleCount); Assert.AreEqual(contact, result.Contact); Assert.AreEqual(details, result.Details); Assert.AreEqual(photoUrl, result.PhotoUrl); Assert.AreEqual(weekdaayHours, result.WeekdayHours); Assert.AreEqual(weekendHours, result.WeekendHours); Assert.AreEqual(averageBill, result.AverageBill); }
public IHttpActionResult GetRestaurant(int id) { try { restaurantsService = new RestaurantsService(User.Identity.Name); } catch (UserNotFoundException) { return(NotFound()); } Restaurant restaurant = restaurantsService.Get(id); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Restaurant, RestaurantDTO>(); }); IMapper iMapper = config.CreateMapper(); RestaurantDTO restaurantDTO = iMapper.Map <Restaurant, RestaurantDTO>(restaurant); return(Ok(restaurantDTO)); }
public void Setup() { var optionsBuilder = new DbContextOptionsBuilder(); // On se sert d'une base en mémoire, car on ne teste que le service. On la remplit avec un restaurant indépendamment du service. // J'ai l'impression que cela pose problème pour le tracking des entités : certains tests échouent ou non selon qu'on les lance indépendamment des autres ou tous ensemble... optionsBuilder.UseInMemoryDatabase("Restaurants"); var options = optionsBuilder.Options; db = new RestaurantsContext(options); db.Restaurants.Add(new Restaurant() { Nom = "Test", Email = "*****@*****.**", Telephone = "25411225588", Adresse = new Adresse { CodePostal = "63854", Ville = "Grenoble", Rue = "cours test", Numero = "58 bis" }, LastGrade = new Grade { DateDerniereVisite = DateTime.Parse("01/01/20"), Note = 10, Commentaire = "nul" } }); db.Restaurants.Add(new Restaurant() { Nom = "Test2", Email = "*****@*****.**", Telephone = "25411225588", Adresse = new Adresse { CodePostal = "63854", Ville = "Grenoble", Rue = "cours test", Numero = "58 bis" }, LastGrade = new Grade { DateDerniereVisite = DateTime.Parse("01/01/20"), Note = 10, Commentaire = "nul" } }); db.SaveChanges(); srv = new RestaurantsService(db); }
// GET: api/Restaurants public IEnumerable <RestaurantDTO> GetRestaurants( string filterOption = null, string sortOption = null, int pageSize = 20, int pageNumber = 1) { try { restaurantsService = new RestaurantsService(User.Identity.Name); } catch (UserNotFoundException) { return(null); } IEnumerable <Restaurant> restaurants = restaurantsService.Get( filterOption, sortOption, pageSize, pageNumber); var config = new MapperConfiguration(cfg => { cfg.CreateMap <Restaurant, RestaurantDTO>(); }); IMapper iMapper = config.CreateMapper(); return(iMapper.Map <IEnumerable <Restaurant>, IEnumerable <RestaurantDTO> >(restaurants)); }
// private readonly IngredientsService _ingredientsService; public RestaurantsController(RestaurantsService rs) { _rs = rs; // _ingredientsService = gs; }
public RestaurantsController(RestaurantsService service) { this.service = service; }
public RestaurantsController(RestaurantsService rs, ReviewsService reviewsserv) { _rs = rs; _reviewsserv = reviewsserv; }
public RestaurantsController(RestaurantsService restaurantService) { _restaurantsService = restaurantService; }
public ProfilesController(ProfilesService ps, RestaurantsService rs) { _ps = ps; _rs = rs; }