Apple-AppStoreConnect
view release on metacpan or search on metacpan
item 'Authorization';
item match(qr/^Bearer ey[^.]+\.ey[^.]+\.[^.]+/);
end
},
'get call correct'
);
};
subtest 'get_app_store_versions' => sub {
my $ua = TestUA->new(
'{"data":[{"type":"appStoreVersions","id":"v1","attributes":{"versionString":"1.0","platform":"IOS"}}],"links":{"next":"'.$base.'apps/1/appStoreVersions?cursor=abc"}}',
'{"data":[{"type":"appStoreVersions","id":"v2","attributes":{"versionString":"1.1","platform":"IOS"}}]}',
'{"data":[{"type":"appStoreVersionLocalizations","id":"l1","attributes":{"locale":"en-US","whatsNew":"One"}},{"type":"appStoreVersionLocalizations","id":"l2","attributes":{"locale":"fr-FR","whatsNew":"Un"}}]}',
'{"data":[]}'
);
my $asc3 = Apple::AppStoreConnect->new(%params, key => $key, ua => $ua);
my $out = $asc3->get_app_store_versions(
id => 1,
platform => 'IOS',
localizations => 1,
'Versions and localizations returned'
);
like(
$ua->{calls}->[0]->[0],
qr#^\Q${base}apps/1/appStoreVersions\E\?(limit=200&filter\[platform\]=IOS|filter\[platform\]=IOS&limit=200)$#,
'Version request uses platform filter and limit'
);
is(
$ua->{calls}->[1]->[0],
"${base}apps/1/appStoreVersions?cursor=abc",
'Version request follows next link'
);
is(
$ua->{calls}->[2]->[0],
"${base}appStoreVersions/v1/appStoreVersionLocalizations?limit=200",
'Localizations request fetches all locales'
);
is(
$ua->{calls}->[3]->[0],
"${base}appStoreVersions/v2/appStoreVersionLocalizations?limit=200",
( run in 1.502 second using v1.01-cache-2.11-cpan-995e09ba956 )