public async Task TwoMatches_GetFilteredMatcehs_ReturnsCorrectMatch(FilterMatchDto filter) { var goodMatch = new Match { HomeTeam = "home-team", GuestTeam = "guest-team", MatchType = MatchType.Qualifying, AvailableSeats = 12, TicketPrice = 12.2f }; var badMatch = new Match { HomeTeam = "bad-team", GuestTeam = "bad-team", MatchType = MatchType.Round1, AvailableSeats = 99, TicketPrice = 99.2f }; await AddMatch(goodMatch); await AddMatch(badMatch); var response = await _client.PostAsync(filteredMatchesRoute, JsonContent.Create(filter)); response.StatusCode.Should().Be(HttpStatusCode.OK); var foundMatches = await response.Content.ReadAsAsync <IEnumerable <Match> >(); foundMatches.Should().ContainSingle(); foundMatches.First().Should().Be(goodMatch); }
public ActionResult <IEnumerable <Match> > GetFilteredMatcehs(FilterMatchDto filter) { var matches = _matchRepo.GetAll(); return(Ok(matches .Where(m => m.Id == (filter.Id ?? m.Id)) .Where(m => m.HomeTeam.ToLower().Contains((filter.HomeTeam ?? "").ToLower())) .Where(m => m.GuestTeam.ToLower().Contains((filter.GuestTeam ?? "").ToLower())) .Where(m => m.MatchType == (filter.MatchType ?? m.MatchType)) .Where(m => m.TicketPrice == (filter.TicketPrice ?? m.TicketPrice)) .Where(m => m.AvailableSeats == (filter.AvailableSeats ?? m.AvailableSeats)) .ToList())); }