public async Task CreateAsync_ShouldSuccessfullyAddToDatabase() { // Arrange var context = ApplicationDbContextInMemoryFactory.InitializeContext(); var hotelRepository = new EfDeletableEntityRepository <Hotel>(context); var service = new HotelsService(hotelRepository); var inputModel = new HotelInputModel(); inputModel.Name = "HotelName"; inputModel.ImageUrl = "ImageUrl"; inputModel.Description = "Description"; inputModel.Address = "Adress"; inputModel.DestinationId = 1; inputModel.PricePerNightPerPerson = 0; inputModel.Stars = 1; inputModel.AvailableRooms = 1; inputModel.FeedingType = FeedingType.Breakfast; inputModel.ReservationType = ReservationType.Hotel; var expectedResult = 1; // Act await service.CreateAsync(inputModel); var actualResult = hotelRepository.All().Count(); // Assert Assert.True(expectedResult == actualResult); }
public async Task TestCreateHotel() { var hotels = new List <Hotel>(); var mockHotelRepo = new Mock <IDeletableEntityRepository <Hotel> >(); mockHotelRepo.Setup(x => x.All()).Returns(hotels.AsQueryable()); mockHotelRepo.Setup(x => x.AddAsync(It.IsAny <Hotel>())).Callback( (Hotel hotel) => hotels.Add(hotel)); var service = new HotelsService(mockHotelRepo.Object); await service.CreateAsync("Test Name", 1, "Test Address", 1, 2, null); Assert.Single(hotels); }