/// <summary> /// Gets Teams by request /// </summary> public async Task <GenericResponse <TeamViewModel> > GetTeamsAsync(TeamsRequest request) { if (request == null) { throw new NotFoundException("The request is empty"); } Expression <Func <Team, bool> > filter = e => !request.CountryId.HasValue || e.CountryId == request.CountryId.Value; var teamsCount = await _teamRepository.FindCountAsync(filter); var teamsPage = await _teamRepository.FindPageAsync( filter, request.Sorting, request.PageIndex, request.PageSize); var teamsVm = Mapper.Map <IEnumerable <Team>, IEnumerable <TeamViewModel> >(teamsPage); return(new GenericResponse <TeamViewModel> { TotalItems = teamsCount, Items = teamsVm }); }
public void Teams_ForSeason2016_ReturnsTeamsDto() { var sut = new TeamsRequest(); var result = sut.LoadData(Constants.Seasons.Season2016); Assert.IsNotNull(result); Assert.IsTrue(result.Count > 0); }
public void Teams_ForSeason2019_ReturnsTeamsDto() { var sut = new TeamsRequest(); var result = sut.LoadData(Constants.Seasons.Season2019); Assert.IsNotNull(result); Assert.IsTrue(result.Count > 0); foreach (var team in result) { System.Console.WriteLine(team); } }
public void Teams_ForSeason2019_ReturnsTeamsDto() { var sut = new TeamsRequest(); var result = sut.LoadData( Constants.MlbSeasons.Season2019) .OrderBy(x => x.Name); Assert.IsNotNull(result); foreach (var team in result) { System.Console.WriteLine(team); } Assert.AreEqual(30, result.Count()); }
public TeamsViewModel FindTeams() { var response = new TeamsViewModel { Teams = new List <Team>() }; var request = new TeamsRequest(); var teams = request.LoadData("nfl-2018-2019"); foreach (var team in teams) { response.Teams.Add(TeamFor(team)); } return(response); }
public async void GetTeams_Valid_FilterByCountryId_Request() { // Arrange var teams = GetTestTeams(); var teamService = new Mock <ITeamService>(); var controller = InitTeamsController(teamService); var request = new TeamsRequest { CountryId = 1 }; teamService.Setup(repo => repo.GetTeamsAsync(request)).Returns(Task.FromResult(new GenericResponse <TeamViewModel> { Items = teams, TotalItems = teams.Count })); // Act var result = await controller.GetTeams(request); // Assert var okObjectResult = Assert.IsType <OkObjectResult>(result); Assert.IsAssignableFrom <IList <TeamViewModel> >(okObjectResult.Value); }
public async Task <IActionResult> GetTeams(TeamsRequest request) { var teamsVm = await _teamService.GetTeamsAsync(request); return(Response.CreateOkListResult(teamsVm.Items, teamsVm.TotalItems)); }