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); }
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); }
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."); }
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."); }
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] }); }