public void CallingAddPlayerWithValidDataShouldReturnOkAndObject()
        {
            var model = new PlayerDto
            {
                Name        = "Test player",
                Affiliation = "umbrella"
            };

            var mockRepository = new Mock <IPlayerRepository>();

            mockRepository.Setup(r => r.Add(It.IsAny <int>(), It.IsAny <PlayerDto>()))
            .Returns <int, PlayerDto>((tournamentId, data) => new Player {
                Name = data.Name, Affiliation = data.Affiliation, Active = true
            });

            var ctrl = new TournamentController(null, mockRepository.Object, null, null);

            var result = ctrl.AddPlayer(1, model);

            Assert.IsAssignableFrom <OkObjectResult>(result);

            var player = (result as OkObjectResult).Value as PlayerDto;

            Assert.Equal(model.Name, player.Name);
            Assert.Equal(model.Affiliation, player.Affiliation);
            Assert.True(player.Active);
        }
        public void CallingAddPlayerWithInvalidDataShouldReturBadRequest()
        {
            var ctrl = new TournamentController(null, null, null, null);

            ctrl.ModelState.AddModelError("", "Error!");

            var result = ctrl.AddPlayer(1, null);

            Assert.IsAssignableFrom <BadRequestResult>(result);
        }