// [Fact] public async Task ReturnCorrectResult_WithFilterAndOrder() { // Arrange var db = GetDatabase(); var pdfGenerator = new PdfGenerator(); var one = new Movie { Name = "One" }; var two = new Movie { Name = "Olle" }; var three = new Movie { Name = "Three" }; db.AddRange(one, two, three); var firstProjection = new Projection { Id = 1, Date = DateTime.Now.AddDays(1), Movie = new Movie { Id = 1, Name = "One" } }; var secondProjection = new Projection { Id = 2, Date = DateTime.Now.AddDays(2), Movie = new Movie { Id = 3, Name = "Two" } }; var thirdProjection = new Projection { Id = 3, Date = DateTime.Now.AddDays(3), Movie = new Movie { Id = 3, Name = "Three" } }; db.AddRange(firstProjection, secondProjection, thirdProjection); await db.SaveChangesAsync(); var cinemaService = new CinemaService(db, pdfGenerator); // Act var result = await cinemaService.FindAsyncMovie("o"); // Assert result .Should() .Match(r => r.ElementAt(0).Id == 1 && r.ElementAt(1).Id == 2) .And .HaveCount(2); }