def test_display_animes(self, mock_animes, runner, animes): mock_animes.return_value = animes result = runner.invoke(app, ["--no-check-updates", "animes"], color=True) assert result.exit_code == 0 assert TWIST_SUPPORTING_MESSAGE in result.stdout for anime in animes: assert anime_message(anime) in result.stdout
def test_display_animes_with_filter( self, mock_animes, runner, animes, naruto_animes, one_piece_animes, one_punch_animes, attack_on_titan_animes, ): mock_animes.return_value = animes result = runner.invoke( app, ["--no-check-updates", "animes", "--search", "naruto"], color=True ) assert result.exit_code == 0 for anime in naruto_animes: assert anime_message(anime) in result.stdout for anime in one_piece_animes + one_punch_animes + attack_on_titan_animes: assert anime_message(anime) not in result.stdout
def display_animes(search: Optional[str] = typer.Option( None, help="Filter results with fuzzy search")): """ Search and display information about available animes and optionally use --search to fuzzy search Among the information given, the slug is what is used in other commands """ animes = get_animes() if search: animes = filter_animes(search, animes) for anime in animes: typer.echo(anime_message(anime))