[InlineData(new string[] { "IdInvalido", "1", "2", "3", "4", "5", "6", "7" }, "A lista deve possuir 8 filmes validos")] //Lista com ids invalidos public async Task EnviarFilmesCompetidoresAsync_ListasInvalidas_BadRequest(string[] idFilmesEnviado, string erroEsperado) { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Returns(_listaFilmes); var competicaoController = new CompeticaoController(filmesRepository); var resultado = await competicaoController.EnviarFilmesCompetidoresAsync(idFilmesEnviado); Assert.IsType <BadRequestObjectResult>(resultado.Result); string mensagemErro = (resultado.Result as BadRequestObjectResult).Value.ToString(); Assert.Equal(erroEsperado, mensagemErro); }
public async Task EnviarFilmesCompetidoresAsync_RetornoVazio_NotFound() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Returns(Enumerable.Empty <Filme>()); var competicaoController = new CompeticaoController(filmesRepository); var idFilmesEnviado = new string[] { "1", "2", "3", "4", "5", "6", "7", "8" }; var resultado = await competicaoController.EnviarFilmesCompetidoresAsync(idFilmesEnviado); Assert.IsType <ObjectResult>(resultado.Result); int?statusCode = (resultado.Result as ObjectResult).StatusCode; Assert.Equal(500, statusCode); }
public async Task EnviarFilmesCompetidoresAsync_ErroInesperado_InternalServerError() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Throws(new Exception("Erro inesperado")); var competicaoController = new CompeticaoController(filmesRepository); var idFilmesEnviado = new string[] { "1", "2", "3", "4", "5", "6", "7", "8" }; var resultado = await competicaoController.EnviarFilmesCompetidoresAsync(idFilmesEnviado); Assert.IsType <ObjectResult>(resultado.Result); int?statusCode = (resultado.Result as ObjectResult).StatusCode; Assert.Equal(500, statusCode); }
public async Task EnviarFilmesCompetidoresAsync_ListasCom8Filmes_Ok() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Returns(_listaFilmes); var competicaoController = new CompeticaoController(filmesRepository); var idFilmesEnviado = new string[] { "1", "2", "3", "4", "5", "6", "7", "8" }; var resultado = await competicaoController.EnviarFilmesCompetidoresAsync(idFilmesEnviado); Assert.IsType <OkObjectResult>(resultado.Result); FinalistasView finalistasView = (resultado.Result as OkObjectResult).Value as FinalistasView; Assert.Equal("Vingadores: Guerra Infinita", finalistasView.Campeao); Assert.Equal("Os Incríveis 2", finalistasView.ViceCampeao); }