Example #1
0
        public void GetById_Rating_1()
        {
            // Retrieving rating_1 from DB according to Id from Seeds.
            var detailModel = facadeTestUnit.GetById(DataSeeds.Rating_1.Id);

            // Mapping entity of Rating_1 from Seeds to detailModel
            var ratingFromSeed = mapper.Map(DataSeeds.Rating_1);

            // Synchronizing FilmId because Rating_1 entity in Seeds has not this property assinged yet
            ratingFromSeed.FilmId = detailModel.FilmId;

            Assert.Equal(detailModel, ratingFromSeed, RatingDetailModel.RatingDetailModelComparer);
        }
        public async Task <MatchModel> CreateMatch(CreateMatchCommand command)
        {
            Player winner = await playersApiClient.GetPlayer(command.WinnerId);

            Player loser = await playersApiClient.GetPlayer(command.LoserId);

            PlayersRatings ratings = await ratingApiClient.CalculatePlayersRatings(RatingMapper.Map(winner, loser));

            UpdatePlayerRequest updateWinnerRequest = new UpdatePlayerRequest(winner.Id, winner.Name, ratings.WinnerRating.Rating, ratings.WinnerRating.Deviation, ratings.WinnerRating.Volatility);

            winner = await playersApiClient.UpdatePlayer(updateWinnerRequest);

            UpdatePlayerRequest updateLoserRequest = new UpdatePlayerRequest(loser.Id, loser.Name, ratings.LoserRating.Rating, ratings.LoserRating.Deviation, ratings.LoserRating.Volatility);

            loser = await playersApiClient.UpdatePlayer(updateLoserRequest);

            CreateMatchRequest createMatchRequest = new CreateMatchRequest(winner.Id, loser.Id, command.Score);
            Match match = await matchesApiClient.CreateMatch(createMatchRequest);

            return(MatchMapper.Map(match, new List <Player> {
                winner, loser
            }));
        }