public async Task Searches_on_student_name() { Fixture.DataMother.CreateGroup("semester 1", studentNames: new[] { "Timo", "Leon" }); Fixture.DataMother.CreateGroup("semester 2", studentNames: new[] { "Timo" }); Fixture.DataMother.CreateGroup("semester 3", studentNames: new[] { "Simon" }); await using var ucContext = Fixture.CreateDbContext(); var useCase = new SearchStudents(ucContext); var response = await useCase.HandleAsync(new SearchStudents.Query { SearchTerm = "timo" }); response.Should().HaveCount(1); response.First().Name.Should().Be("Timo"); response.First().Groups.Should().HaveCount(2); response.First().Groups.Select(g => g.Name).Should().Contain("semester 1"); response.First().Groups.Select(g => g.Name).Should().Contain("semester 2"); }
public async Task <IActionResult> Get(SearchStudents.Query query) { return(Ok(await _useCase.HandleAsync(query))); }