Пример #1
0
        /// <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
            });
        }
Пример #2
0
        public void Teams_ForSeason2016_ReturnsTeamsDto()
        {
            var sut    = new TeamsRequest();
            var result = sut.LoadData(Constants.Seasons.Season2016);

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Count > 0);
        }
Пример #3
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);
            }
        }
Пример #4
0
        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());
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #7
0
        public async Task <IActionResult> GetTeams(TeamsRequest request)
        {
            var teamsVm = await _teamService.GetTeamsAsync(request);

            return(Response.CreateOkListResult(teamsVm.Items, teamsVm.TotalItems));
        }