Initial commit
This commit is contained in:
66
Tests/Mixins/TestPlaylists.pm
Normal file
66
Tests/Mixins/TestPlaylists.pm
Normal file
@@ -0,0 +1,66 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More tests => 2;
|
||||
use Test::Exception;
|
||||
|
||||
sub test_get_playlist_foreign {
|
||||
my ( $yt, $yt_auth, $yt_oauth ) = @_;
|
||||
|
||||
lives_ok {
|
||||
eval { $yt->get_playlist("PLABC") };
|
||||
if ($@) {
|
||||
die "Expected exception not thrown";
|
||||
}
|
||||
}
|
||||
'Playlist retrieval with invalid ID should fail';
|
||||
|
||||
my $playlist = $yt_auth->get_playlist(
|
||||
"PLk5BdzXBUiUe8Q5I13ZSCD8HbxMqJUUQA",
|
||||
{ limit => 300, suggestions_limit => 7 }
|
||||
);
|
||||
ok(
|
||||
length( $playlist->{"duration"} ) > 5,
|
||||
"Playlist duration length check"
|
||||
);
|
||||
ok( scalar @{ $playlist->{"tracks"} } > 200, "Tracks count check" );
|
||||
ok(
|
||||
!exists $playlist->{"suggestions"},
|
||||
"Playlist should not contain suggestions"
|
||||
);
|
||||
ok( !$playlist->{"owned"}, "Playlist should not be owned" );
|
||||
|
||||
$yt->get_playlist("RDATgXd-");
|
||||
ok(
|
||||
scalar @{ $playlist->{"tracks"} } >= 100,
|
||||
"Tracks count check for RDATgXd- playlist"
|
||||
);
|
||||
|
||||
$playlist = $yt_oauth->get_playlist(
|
||||
"PLj4BSJLnVpNyIjbCWXWNAmybc97FXLlTk",
|
||||
{ limit => undef, related => 1 }
|
||||
);
|
||||
ok(
|
||||
scalar @{ $playlist->{"tracks"} } > 200,
|
||||
"Tracks count check for oauth playlist"
|
||||
);
|
||||
ok(
|
||||
scalar @{ $playlist->{"related"} } == 0,
|
||||
"Related count check for oauth playlist"
|
||||
);
|
||||
}
|
||||
|
||||
sub test_get_playlist_owned {
|
||||
my ( $config, $yt_brand ) = @_;
|
||||
|
||||
my $playlist = $yt_brand->get_playlist( $config->{"playlists"}->{"own"},
|
||||
{ related => 1, suggestions_limit => 21 } );
|
||||
ok(
|
||||
scalar @{ $playlist->{"tracks"} } < 100,
|
||||
"Owned playlist tracks count check"
|
||||
);
|
||||
ok( scalar @{ $playlist->{"suggestions"} } == 21,
|
||||
"Suggestions count check" );
|
||||
ok( scalar @{ $playlist->{"related"} } == 10, "Related count check" );
|
||||
ok( $playlist->{"owned"}, "Playlist ownership check" );
|
||||
}
|
||||
Reference in New Issue
Block a user