public async Task ObterFilmesCompetidoresAsync_RetornoVazio_NotFound() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Returns(Enumerable.Empty <Filme>()); var competicaoController = new CompeticaoController(filmesRepository); var resultado = await competicaoController.ObterFilmesCompetidoresAsync(); Assert.IsType <NotFoundResult>(resultado.Result); }
public async Task ObterFilmesCompetidoresAsync_ErroInesperado_InternalServerError() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Throws(new Exception("Erro inesperado")); var competicaoController = new CompeticaoController(filmesRepository); var resultado = await competicaoController.ObterFilmesCompetidoresAsync(); Assert.IsType <ObjectResult>(resultado.Result); int?statusCode = (resultado.Result as ObjectResult).StatusCode; Assert.Equal(500, statusCode); }
public async Task ObterFilmesCompetidoresAsync_RetornoComSucesso_Ok() { var filmesRepository = Substitute.For <IFilmesRepository>(); filmesRepository.ObterFilmesAsync().Returns(_listaFilmes); var competicaoController = new CompeticaoController(filmesRepository); var resultado = await competicaoController.ObterFilmesCompetidoresAsync(); Assert.IsType <OkObjectResult>(resultado.Result); IEnumerable <FilmeView> filmesView = (resultado.Result as OkObjectResult).Value as IEnumerable <FilmeView>; Assert.NotEmpty(filmesView); }