public async Task DeleteRoomShouldDeleteRoom()
        {
            var options = new DbContextOptionsBuilder <AspHolidayAndSpaDbContext>()
                          .UseInMemoryDatabase(databaseName: "Hotel_Database")
                          .Options;

            var dbContext = new AspHolidayAndSpaDbContext(options);

            var room = new Room()
            {
                Bed           = "test bed",
                Id            = Guid.NewGuid().ToString(),
                Floor         = 1,
                MaximumGuests = 1,
                PicturePath   = "",
                PricePerNight = 1,
                RoomNumber    = 1,
                RoomType      = Models.Enums.RoomType.Double,
                View          = "test view"
            };

            var hotelService = new Services.HotelService.HotelService(dbContext);
            await hotelService.CreateRoom(room, "");

            await dbContext.SaveChangesAsync();

            await hotelService.DeleteRoom(room.Id);

            await dbContext.SaveChangesAsync();

            var result = dbContext.Rooms.ToList();

            Assert.AreEqual(0, result.Count);
        }
        public async Task GetBookingByIdShouldGetCorrectBooking()
        {
            var options = new DbContextOptionsBuilder <AspHolidayAndSpaDbContext>()
                          .UseInMemoryDatabase(databaseName: "Hotel_Database")
                          .Options;

            var dbContext = new AspHolidayAndSpaDbContext(options);

            var booking = new Booking()
            {
                Arrival    = DateTime.Now,
                CheckOut   = DateTime.Now,
                Breakfast  = true,
                BookTime   = DateTime.Now,
                Comment    = "",
                CustomerId = Guid.NewGuid().ToString(),
                Id         = Guid.NewGuid().ToString(),
                Nights     = 0,
                People     = 1,
                RoomNumber = 1,
                RoomType   = Models.Enums.RoomType.Double
            };

            var hotelService = new Services.HotelService.HotelService(dbContext);
            await hotelService.CreateNewBooking(booking, booking.CustomerId);

            await dbContext.SaveChangesAsync();

            var result = hotelService.GetBookingById(booking.Id).Result;

            Assert.AreEqual(booking.Id, result.Id);
        }
        public async Task UpdateBookingShouldUpdateBookingCorrectly()
        {
            var options = new DbContextOptionsBuilder <AspHolidayAndSpaDbContext>()
                          .UseInMemoryDatabase(databaseName: "Hotel_Database")
                          .Options;

            var dbContext = new AspHolidayAndSpaDbContext(options);

            var booking = new Booking()
            {
                Arrival    = DateTime.Now,
                CheckOut   = DateTime.Now,
                Breakfast  = true,
                BookTime   = DateTime.Now,
                Comment    = "",
                CustomerId = Guid.NewGuid().ToString(),
                Id         = Guid.NewGuid().ToString(),
                Nights     = 0,
                People     = 1,
                RoomNumber = 1,
                RoomType   = Models.Enums.RoomType.Double
            };

            var room = new Room()
            {
                Bed           = "test bed",
                Id            = Guid.NewGuid().ToString(),
                Floor         = 1,
                MaximumGuests = 1,
                PicturePath   = "",
                PricePerNight = 1,
                RoomNumber    = 1,
                RoomType      = Models.Enums.RoomType.Double,
                View          = "test view"
            };

            var hotelService = new Services.HotelService.HotelService(dbContext);
            await hotelService.CreateNewBooking(booking, booking.CustomerId);

            await dbContext.SaveChangesAsync();

            booking.People = 2;
            await hotelService.CreateRoom(room, "");

            await hotelService.UpdateBooking(booking);

            await dbContext.SaveChangesAsync();

            var result = dbContext.Bookings.ToList();

            Assert.AreEqual(booking.People, result.First().People);
        }