public async Task ReturnCorrectlyQueriedCollection() { var(connection, options) = await CreateUniqueMockDbConnectionForThisTest(_listWorkoutHistories); try { using (var context = new FittifyContext(options)) { var entitiesFromContext = await context .WorkoutHistories .Include(i => i.Workout) .Where(w => w.OwnerGuid == _ownerGuid && w.DateTimeStart >= new DateTime(1989, 11, 01, 13, 00, 00) && w.DateTimeEnd <= new DateTime(1989, 11, 01, 17, 00, 00) && w.WorkoutId == 1) .ToListAsync(); var serializedEntitesFromContext = JsonConvert.SerializeObject(entitiesFromContext, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); var resourceParameters = new WorkoutHistoryResourceParameters() { OwnerGuid = _ownerGuid, FromDateTimeStart = new DateTime(1989, 11, 01, 13, 00, 00), UntilDateTimeEnd = new DateTime(1989, 11, 01, 17, 00, 00), WorkoutId = 1 }; var repo = new WorkoutHistoryRepository(context); var collection = await repo.GetPagedCollection(resourceParameters); var serializedEntitiesFromRepo = JsonConvert.SerializeObject(collection, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); Assert.AreEqual(serializedEntitesFromContext, serializedEntitiesFromRepo); } } finally { connection.Close(); } }