WebService-8tracks

 view release on metacpan or  search on metacpan

t/02_api_authed.t  view on Meta::CPAN

my $follow_self_res = $api->follow('motemen');
cmp_deeply $follow_self_res,
    isa('WebService::8tracks::Response')
        & methods(is_success => bool(0))
        & noclass(superhashof {
            status => '422 Unprocessable Entity',
            errors => ['There was a problem'],
        }),
    '$api->follow (self)';

my $follow_nosuchuser_res = $api->follow('no_such_user');
cmp_deeply $follow_nosuchuser_res,
    isa('WebService::8tracks::Response')
        & methods(is_success => bool(0))
        & noclass(superhashof {
            status => '404 Not Found',
        }),
    '$api->follow (no_such_user)';

my $like_res = $api->like(7063);
cmp_deeply $like_res,
    isa('WebService::8tracks::Response')
        & methods(is_success => bool(1))
        & noclass(superhashof {
            logged_in => bool(1),
            mix => superhashof {
                slug => 'g8',
                user => superhashof { slug => 'youpy' },
            },
        }),
    '$api->like';

__DATA__

@@ POST http://api.8tracks.com/tracks/109569/fav.json
HTTP/1.1 200 OK
Content-Length: 277
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","track":{"name":"Rinbu - Revolution","faved_by_current_user":true,"url":"http://8tracks.com/tracks/109569","release_name":"Star Mania: Shoujo Kakumei Utena","performer":"Okui Masami","id":109569,"use...

@@ POST http://api.8tracks.com/tracks/109569/unfav.json
HTTP/1.1 200 OK
Content-Length: 278
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","track":{"name":"Rinbu - Revolution","faved_by_current_user":false,"url":"http://8tracks.com/tracks/109569","release_name":"Star Mania: Shoujo Kakumei Utena","performer":"Okui Masami","id":109569,"us...

@@ POST http://api.8tracks.com/tracks/109569/toggle_fav.json
HTTP/1.1 200 OK
Content-Length: 277
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","track":{"name":"Rinbu - Revolution","faved_by_current_user":true,"url":"http://8tracks.com/tracks/109569","release_name":"Star Mania: Shoujo Kakumei Utena","performer":"Okui Masami","id":109569,"use...

@@ POST http://api.8tracks.com/users/youpy/toggle_follow.json
HTTP/1.1 200 OK
Content-Length: 507
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","errors":null,"user":{"slug":"youpy","location":"","bio_html":null,"next_mix_prefs":"ask","id":7535,"avatar_urls":{"max200":"http://cf3.8tracks.us/avatars/000/007/535/36384.max200.jpg","sq56":"http:/...

@@ POST http://api.8tracks.com/users/youpy/follow.json
HTTP/1.1 200 OK
Content-Length: 506
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","errors":null,"user":{"slug":"youpy","location":"","bio_html":null,"next_mix_prefs":"ask","id":7535,"avatar_urls":{"max200":"http://cf3.8tracks.us/avatars/000/007/535/36384.max200.jpg","sq56":"http:/...

@@ POST http://api.8tracks.com/users/motemen/follow.json
HTTP/1.1 422 Unprocessable Entity
Content-Length: 102
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"422 Unprocessable Entity","errors":["There was a problem"]}

@@ POST http://api.8tracks.com/users/no_such_user/follow.json
HTTP/1.1 404 Not Found
Content-Length: 72
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"404 Not Found","errors":null}

@@ POST http://api.8tracks.com/mixes/7063/like.json
HTTP/1.1 200 OK
Content-Length: 1315
Content-Type: application/json; charset=utf-8

{"notices":null,"logged_in":true,"status":"200 OK","errors":null,"mix":{"path":"/youpy/g8","slug":"g8","name":"G8","user":{"slug":"youpy","id":7535,"avatar_urls":{"max200":"http://cf3.8tracks.us/avatars/000/007/535/36384.max200.jpg","sq56":"http://cf...



( run in 0.782 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )