public void DevoIdentificarOCampeaoEVice()
        {
            //Arrange
            var controller = new CampeonatoController(new CampeonatoService(_filmeRepository.Object));

            var filmesSelecionados = _filmeRepository.Object.ListaFilmes().Result;

            var filmesSelecionadosIds = filmesSelecionados.Take(8).Select(x => x.Id).ToArray();

            //Act
            var campeonato = ((OkObjectResult)controller.GerarCampeonato(filmesSelecionadosIds).Result).Value as Campeonato;

            //Assert
            Assert.Equal("tt4154756", campeonato.Campeao.Id);
            Assert.Equal("tt3606756", campeonato.ViceCampeao.Id);
        }
Exemple #2
0
        public void GerarCampeonato_Retornar500InternalServerError()
        {
            // Arrange
            var campeonatoServiceMock = new Mock <ICampeonatoService>();

            campeonatoServiceMock.Setup(serv => serv.GerarCampeonato(filmes))
            .Throws(new Exception());

            var controller = new CampeonatoController(campeonatoServiceMock.Object);

            // Act
            var result = controller.GerarCampeonato(filmes);

            // Assert
            var objectResult = result as ObjectResult;

            objectResult.StatusCode.Should().Be(500);
        }
Exemple #3
0
        public void GerarCampeonato_Retornar400BadRequest_FilmesInvalidos()
        {
            // Arrange
            var campeonatoServiceMock = new Mock <ICampeonatoService>();

            campeonatoServiceMock.Setup(serv => serv.GerarCampeonato(null))
            .Throws(new FilmesInvalidosException("A lista de filmes não está no formato correto."));

            var controller = new CampeonatoController(campeonatoServiceMock.Object);

            // Act
            var result = controller.GerarCampeonato(null);

            // Assert
            var objectResult = result as ObjectResult;

            objectResult.StatusCode.Should().Be(400);
            objectResult.Value.Should().Be("Erro ao gerar campeonato: A lista de filmes não está no formato correto.");
        }
Exemple #4
0
        public void GerarCampeonato_Retornar400BadRequest_QuantidadeInvalida()
        {
            // Arrange
            var campeonatoServiceMock = new Mock <ICampeonatoService>();

            campeonatoServiceMock.Setup(serv => serv.GerarCampeonato(null))
            .Throws(new QuantidadeInvalidaException("É necessário selecionar exatamente 8 filmes para começar o campeonato."));

            var controller = new CampeonatoController(campeonatoServiceMock.Object);

            // Act
            var result = controller.GerarCampeonato(null);

            // Assert
            var objectResult = result as ObjectResult;

            objectResult.StatusCode.Should().Be(400);
            objectResult.Value.Should().Be("Erro ao gerar campeonato: É necessário selecionar exatamente 8 filmes para começar o campeonato.");
        }
Exemple #5
0
        public void GerarCampeonato_Retornar200OK()
        {
            // Arrange
            var campeonatoServiceMock = new Mock <ICampeonatoService>();

            campeonatoServiceMock.Setup(serv => serv.GerarCampeonato(CampeonatoControllerTests.filmes))
            .Returns(GetListaFilmes());

            var controller = new CampeonatoController(campeonatoServiceMock.Object);

            // Act
            var result = controller.GerarCampeonato(CampeonatoControllerTests.filmes);

            // Assert
            var okResult = result as OkObjectResult;

            okResult.StatusCode.Should().Be(200);

            var filmes = okResult.Value as object;

            filmes.Should().BeEquivalentTo(new { Primeiro = CampeonatoControllerTests.filmes[0], Segundo = CampeonatoControllerTests.filmes[1] });
        }