public void ShouldReturnTheAvailableDesks() { var date = new DateTime(2021, 5, 5); var options = new DbContextOptionsBuilder <DeskBookerContext>() .UseInMemoryDatabase(databaseName: "ShouldReturnTheAvailableDesks") .Options; using (var context = new DeskBookerContext(options)) { context.Desk.Add(new Desk { Id = 1 }); context.Desk.Add(new Desk { Id = 2 }); context.Desk.Add(new Desk { Id = 3 }); context.DeskBookings.Add(new DeskBooking() { DeskId = 1, Date = date }); context.DeskBookings.Add(new DeskBooking() { DeskId = 2, Date = date.AddDays(1) }); context.SaveChanges(); } using (var context = new DeskBookerContext(options)) { var repository = new DeskRepository(context); var desks = repository.GetAvailableDesks(date); Assert.That(desks, Has.Count.EqualTo(2)); } }